Spring Cloud API Gateway Filter Spring Cloud의 API Gateway Filter는 API Gateway의 프록시 기능을 추가해준다. 즉, API Gateway가 담당하고 있는 라우팅이라는 기능 뿐만 아니라 부가기능을 추가 해준다고 할 수 있다. 이러한 Spring Cloud Gateway의 Filter는 특정 Micro Service에만 적용하는 필터와 전체 MicroService에 지정하는 Global Filter로 구분된다. 필터 만들기 Spring Cloud Gateway에 필터는 AbstractGatewayFilterFactory 라는 추상 클래스를 구현하여 사용할 수 있다. 필터 설정 글로벌 필터 모든 마이크로 서비스에 적용하기 위한 Global Filter의..
API Gateway API Gateway 는 클라이언트측 에서 여러 Micro Service 로 구성된 서버에 요청을 할 때, Micro Service에 각각 다른 위치( 도메인/IP/Port )를 기억하지 않아도 API Gateway 의 위치 하나로 각 Micro Service에 요청을 전달 할 수 있도록 해주는 인터페이스이다. Why? 클라이언트가 요청이 각각의 서비스에 라우팅하는 수단으로 사용되고 중간에 API Gateway라는 인터페이스를 추가하는 것으로 클라이언트와 각 마이크로 서비스들 간의 느슨한 결합(Loose Coupling)을 구성할 수 있다. 이뿐만 아니라 API Gateway는 프록시(Proxy) 역할도 할 수 있어서 로깅, 인증, 유효성 검사의 역할도 담당할 수 있다. 자바 진영에..
서비스 디스커버리 ( Service Discovery ) Service Discovery 란? MSA: Micro Service Architecture 에서는 다양한 Micro Service에 상호작용을 통해 작동하고, 이러한 Micro Service 들은 서로 다른 IP와 Port를 가진다. 서비스들은 서로 원격 호출을 통해 상호작용을 하는데 원격 호출을 위해서는 IP와 Port가 필요하고 때문에 Key-Value 형태로 IP와 Port를 저장및 관리하며 Micro Service간의 상호작용에 도움을 주는 역할을 한다. 그 구조만 보면 마치 DNS 와 유사하여, 각 서비스의 위치를 기억하고 찾아준다. Java 진영에서는 대표적으로 Service Discovery 로 유레카(Eureka) 를 사용한다. ..
Producer-Consumer Pattern 생성자-소비자 패턴은 작업물을 가운데 위치 시키고 작업을 생산자와 작업을 처리자를 분리하는 설계 방법이다. 작업을 생성하고 처리하는 부분이 각각 감당할 수 있는 작업을 비동기적으로 처리하여 부하를 조절할 수 있다는 장점을 가진다. 예를 들어, 물건을 주고 받기 위해 물건 보관함을 이용하게 되면 서로 같은 시간에 만나지 않아도 물건을 전달한다 라는 작업을 처리할 수 있다. 이와 같이 비동기적으로 작업 처리를 분할하여 부하를 조절 할 수 있게 된다. 비슷한 맥락의 예시들 MQ(Message Queue) androidx.fragment 에 뷰 통신에 대한 종속성을 분리방법. MVVM 구현 코드 Queue Queue 구현체 ( JobQueue ) Producer (..
- Total
- Today
- Yesterday
- 컴포짓 패턴
- RestAssured
- 뾰족함
- pass by value
- 육각형 아키텍처
- 메모리 단편화
- Sticky Session
- Object Pool
- multimap
- 장애 해결기
- java
- 동적 타입 언어
- 클린 아키텍처
- Memory Fragmentation
- SpringBoot 2.2
- 세션 불일치
- Session
- ATDD
- OOP
- 수평 분할
- 내부 단편화
- 정적 타입 언어
- pass by reference
- 객체 풀
- Clean Architecture
- 수직 분할
- 외부 단편화
- 메모리 파편화
- pool
- 동적 디스패치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |