[MSA]마이크로서비스 아키텍처 구성해보기 - 2

마이크로서비스 간 통신 방법

1. API Gateway

관련 블로그 : https://inpa.tistory.com/entry/AWS-%F0%9F%93%9A-API-Gateway-%EA%B0%9C%EB%85%90-%EA%B8%B0%EB%B3%B8-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%A0%95%EB%A6%AC

API Gateway는 api 요청을 받는 입구라고 생각하면 이해하기 쉽다. 즉, API Gateway로 요청이 들어오면 알아서 적절한 마이크로서비스에 요청을 전달하는 방식이다.

또한 API Gateway는 트래픽 관리, 로킹 및 모니터링, 캐싱, 인증 및 인가 등의 기능을 제공한다.

하지만 나는 위 방식은 생각보다 비쌀 것 같기도 하고, AWS Lambda같은 서비스를 이용해 서버리스를 구성할 때 더 적절한 방식이라고 생각하여 해당 방식은 포기했다.

2. Kafka

Kafka는 아파치에서 만든 메시지 브로커이다. 카파카는 LinkedIn에서 실시간 대규모 데이터 분석을 위해 탄생했다. 실시간으로 대규모 데이터를 안정적으로 스트리밍, 저장, 전송할 수 있는 플랫폼을 만든 것이다.

이때 이런 특성이 마이크로서비스 간 통신에도 유용하게 사용할 수 있어, 마이크로서비스 아키텍처를 구성할 때 kafka를 사용하는 경우가 많다고 한다.

카프카에 대한 설명은 카프카 글에서 더 자세하게 다룬다.

이때 AWS에서 제공하는 Amazon MSK (Managed Streaming for Apache Kafka)를 이용할까 했지만, 비용도 무섭고 직접 kafka를 도커에 세팅해 설정하고 관리하는 것을 해보고자 직접 kafka 브로커를 설치해 이용하기로 결정했다.

results matching ""

    No results matching ""