반응형
마이크로서비스의 2가지 통신 방법
- 동기와 비동기
- 비동기 방법이 마이크로서비스 통신에 적합하다
- (비동기) 메시지 브로커를 중간에서 사용한다 > 핵심적인 가치인 "독립성"
- (비동기) RabbitMQ & Apache Kafka
Asynchronous Messaging
- 메시지 브로커가 중재자 역할을 한다. 연결이 중간에 끊어졌다면 임시 메시지 저장소를 제공한다
- 마이크로서비스 별 독립성을 확보한다
- PM이 ㅋㅋㅋㅋ 비슷한 역할을 한다. 메시지 전달 집중하는 일을 하신다. CEO와 개별 팀은 독립성을 확보한다.
마이크로서비스의 간단한 아키텍처 예시
- Order와 Boss는 독립적인 프로젝트이다. 프레임워크가 다르다. (Django, Flask)
- Order와 Boss의 통신은 2가지 방식으로 이루어진다
1) Internal API : 동기
2) Rabbit MQ : 비동기
- 두개 서비스가 이용하는 DB가 다르기 때문에 DB간의 동기화가 필요하다. (Database Consistency)
- DB의 동기화도 RabbitMQ를 통해서 구현한다
반응형
'DevOps > AWS' 카테고리의 다른 글
[AWS] API Gateway와 CORS 그리고 Canary 배포 (0) | 2023.05.07 |
---|---|
[AWS] 서버리스 아키텍트 (lambda) (0) | 2023.05.07 |
[AWS] 모놀리식/마이크로서비스 아키텍처 장단점 (0) | 2023.04.02 |
[AWS] CodeCommit & CodeDeploy (0) | 2023.03.31 |
[AWS] Docker 개요와 ECS와 Fargate로 배포하기 (0) | 2023.03.31 |