본문 바로가기

MicroService Architecture

(12)
리액티브 마이크로서비스(Reactive Microservice) 리액티브 마이크로 서비스 패턴은 다음과 같은 문제점, 솔루션, 해결책의 필요 조건이 있다. 문제점 관례적으로 자바 개발자는 HTTP 기반의 RESTful JSON API와 같은 블로킹 I/O 모델을 사용해 동기식 통신을 구현해 왔다. 블로킹 I/O를 사용하면 요청을 처리하는 동안 운영체제의 스레드를 점유하게 된다. 동시 요청 수가 증가하거나 요청과 관련된 컴포넌트가 증가하면 운영체제의 가용 스레드가 부족해 응답 시간이 늦어지거나 서버가 중단되는 문제가 발생 할 수 있다. 또한 앞에서 언급했듯이 블로킹 I/O를 과도하게 사용하면 마이크로서비스 시스템에 오류가 발생하기 쉽다. 예를 들어, 어떤 서비스의 지연 시간이 증가하면 가용 스레드가 부족해져서 클라이언트가 실패 할 수 있다. 이런 상황은 결국 클라이언트..
에지 서버 패턴 에지 서버 패턴은 다음과 같은 문제점과 솔루션, 해결책의 필요 조건이 있다. 문제점 마이크로서비스 시스템 환경에선 일부 마이크로서비스만 시스템 환경 외부에 공개하고, 그 외의 마이크로서비스는 외부에서 접근하지 못하도록 숨기는게 바람직하다. 공개된 마이크로서비스는 악의적인 클라이언트의 요청으로부터 보호해야 한다. 해결책 모든 요청이 거치는 시스템 환경에 새 컴포넌트(에지 서버)를 추가한다. 구현참고: 일반적으로 에지 서버는 리버스 프록시로 동작하며, 동적 로드 밸런싱 기능을 제공하고자 검색 서비스와 통합될 수 있다. 해결책의 필요 조건 해결책의 필요 조건은 다음과 같다. - 외부로 공개하면 안 되는 내부 서비스는 숨긴다. 즉 외부 요청을 허용하는 마이크로서비스로만 요청을 라우팅한다. - 서비스를 외부로 공..
서비스 검색(Service Discovery) 패턴 서비스 검색 패턴은 다음과 같은 문제점, 솔루션, 해결책의 필요 조건이 있다. 문제점 클라이언트가 마이크로서비스와 그 인스턴스를 찾을 수 있어야 한다. 컨테이너 등에서 실행되는 마이크로서비스 인스턴스는 시작하면서 동적 IP 주소를 할당 받는게 일반적이다. 이런 상황은 마이크로서비스가 노출하는 HTTP 기반의 REST API를 클라이언트에서 호출하는 것을 어렵게 한다. 해결책 현재 사용 가능한 마이크로서비스와 그 인스턴스를 추적하는 새 컴포넌트(서미스 검색 서비스)를 시스템 환경에 추가한다. 해결책의 필요 조건 - 마이크로서비스와 마이크로서비스 인스턴스를 자동으로 등록 및 등록 해지한다. - 클라이언트는 마이크로서비스의 논리 엔드포인트에 요청을 보낼 수 있어야 한다. 요청은 사용 가능한 마이크로서비스 인스..
Kong Functional Requirements 1. API Management - API 게이트웨이는 정책 적용 및 메시지 처리 기능의 기초를 제공 - 사용 가능한 게이트웨이는 REST API에 대해서만 좁게 초점을 맞춘 기능부터 REST API, SOAP API, 응용 프로그램 메시징, 파일 전송, 보안 통합 및 모바일 앱 지원에 대한 매우 광범위한 기능에 이르기까지 다양하다 - 사용 된 독립 실행형 또는 API 관리 솔루션의 일부로 게이트웨이는 신뢰 지원 보안(예: 인증, 권한 부여) 및 공격 보호 보안(예: 서비스 거부 또는 잘못된 요청 방지)에 중요한 인프라를 제공한다. Kong은 다음과 같이 설명된 일반적인 API 관리 기능을 가볍고 확장 가능하며 유연하게 높은 Throughput 관리 계층으로 통합한다. Kong Enterprise는 아래..