페이지

2021년 7월 16일 금요일

RSocket API Model


RSocket Request : Response HTTP
Request & Response 1:1 YES
Fire & Forget 1:0 NO
Request Stream 1:N NO
Request Channel M:N NO

RSocket

- RSocket is a binary protocol for client/server application - peer-to-peer messaging - Supports Reactive-Streams * Aync * Non-blocking * BackPressure support - Supports * TCP * WebSockets * Aeron(UDP) - Developed by Netflix - Supports other languages like js, go, py, kotlin etc

2021년 7월 2일 금요일

Spring Boot Annotaions

@RunWith(SpringRunner.class)	Run test with Spring Context.
@SpringBootTest Search for Spring Boot Application for configuration.
@TestConfiguration Specify a Spring configuration for your test.
@MockBean Injects Mockito Mock
@SpyBean Injects Mockito Spy
@JsonTest Creates a Jackson or Gson object mapper via Spring Boot.
@WebMvcTest Used to test web context without a full http server.
@DataJpaTest Used to test data layer with embedded database.
@TestPropertySource Configure the property sources for the test.
@DirtiesContext Resets the Spring Context after the test(expensive to do).
@WebAppConfiguration Indicates Spring should use a Web Application context.
@TestExecutionListeners Allows you to specify listeners for testing events.
@Transactional Run test in transaction, rollback when complete by default.
@BeforeTranasaction Action to run before starting a transaction.
@AfterTransaction Action to run after a transaction.
@Commit Specifies the transaction should be committed after the test.
@Rollback Transaction should be rolled back after test.(Default action)
@Sql Specify SQL scripts to run before.
@SqlConfig Define meta data for SQL scripts.
@SqlGroup Group fo @Sql annotations.
@Repeat Repeat test x number of times.
@Timed Similar to JUnit's timeout, but will wait for test to complete, unlike JUnit.
@IfProfileValue Indicates test is enabled for a specific testing environment.
@ProfileValueSourceConfiguration Specify a profile value source.

JUnit 4 Annotations

@Test		Identifies a method as a test method.
@Before Executed before each test. It is used to prepare the test environment (e.g. read input data, initialize the class).
@After Executed after test. It is used to cleanup the test environment. It can also save memory by cleaning up expensive memory structures.
@BeforeClass Executed once, before the start of all tests. Methods marked with this annotaion need to be defined as static to work with JUnit.
@AfterClass Executed once, after all tests have been finished. Methods annotated with this annotation need to be defined as static to work with JUnit.
@Ignore Marks that the test should be disabled.
@Test(expected = Fails if the method does not throw the named exception. Exception.class)
@Test(timeout = 10) Fails if the method takes longer than 100 millseconds.

2021년 6월 4일 금요일

2021년 4월 2일 금요일

Types of Services

 Cluster IP => Set up an easy-to-remember URL to access a pod. 

                   Only exposes pods in the cluster


Node Port => Makes a pod accessible from outside the cluster.

                   Usually only used for dev purposes


Load Balancer =>  Makes a pod accessible from outside the cluster. 

                         This is the right way to expose a pod to the outside world


External Name => Redirects an in-cluster request to a CNAME url...


_______________________________________________________________________________________


Load Balancer Service =>  Tells Kubernetes to reach out to its provider

                                   and provision a load balancer. 

                                  Gets traffic in to a single pod


Ingress or Ingress Controller => 

A pod with a set of routing rules to distribute traffic to other services

2021년 3월 27일 토요일

Kubernetes Config Files

 1. Thells Kubernetes about the different Deployments, Pods, and Services 
(referred to as 'Objects') that we want to create

 


2. Written in YAML syntax


3. Always store these files with our project source code - they are documentation!


4. We can create Objects without config files - do not do this. Config files 

provide a precise definition of what your cluster is running.