MSA 패턴 분석
클라이언트나 다른 마이크로 서비스들이 API Gateway를 통해서 필요한 서비스를 요청하게 되면 그 요청을 받아서 ServiceRouter에게 어디로 가야할지 질문을 하게 되고 필요한 마이크로서비스가 어디에 저장되어 있는지 ServiceDiscovery(전전 블로그 글에서 설명한 마이크로서비스들이 등록되고 삭제되는 작업을 하는곳)에게 물어보게 된다.그럼 서비스디스커버리에서는 마이크로서비스가 저장된 위치를 알려준다. 그리고 그 서비스로 이동을 해야하는데 서비스는 분산된 형태로 되어 있는데 그때 로드벨런서를 통해서 어떤 서비스로 보내질 것인지 결정을 하게 된다. 이런 마이크로서비스들은 보통 컨테이너가상화를 통해서 구성이 되어 있다. 그리고 다양한 Runtime Platform을 제공한다. 자바 스프링이던 파이선 node.js등의 형태의 언어로서 구현 될 수 있다. 완성되어진 어플리케이션을 배포하기 위해선 CI/CD라는 Automation을 사용한다. CI,CD를 통해서 외부에 배포하고자 할때 사용한다. Service Dev and Ops(관리자나 데브옵스 관련된 사용자)들이 사용할 수 있게 API가 공개되어 있어야한다.
Backing Service는 마이크로서비스에 저장되어 있는 스토리지들을 모아서 사용할 수 있는 방법들에 대해 정리되어 있다.
또 메세징처리 시스템을 통해서 하나의 서비스와 다른서비스가 연결될수도 있다.
Telemetry는 마이크로서비스의 모니터링 기능과 진단기능을 가지고 있다.
MSA는 이런식으로 연결된 서비스를 구축하고 있다.