361
17
장
총정리
트가 발생하며 이와 무관한 다른 마이크로서비스는 변경되지 않습니다.
마이크로서비스를 기술 경계에 따라 구현하지 마세요. 단기적으로 여러 비즈니스 워크플로를
처리할 수 있는 최적화는 가능하지만 결국 각 워크플로와 단단히 결합됩니다. 이렇게 개발된
기술 마이크로서비스는 비즈니스 변화에 민감하고 연관성이 없는 다른 워크플로까지 함께 결
합됩니다. 또 서비스 실패 또는 부주의한 코드 변경으로 인해 여러 비즈니스 워크플로가 중단
될 수도 있습니다. 가급적 마이크로서비스를 기술 기반으로 개발하지 말고 비즈니스의 경계 콘
텍스트를 완수하는 데 초점을 맞추세요.
마지막으로 모든 마이크로서비스가 ‘마이크로
micro
’할 (작을 ) 필요는 없습니다. 특히, 회사가 마
이크로서비스 세금을 부분적으로 또는 아예 하나도 지불하지 않았다면 규모가 큰 서비스를 여
러 개 사용하는 것이 더 합리적입니다. 이는 조직 아키텍처의 정상적인 진화 양상이기도 합니
다. 이미 그런 대규모 서비스를 비즈니스에서 사용 중이라면 다음 원칙에 따라 더 작고 세분화
된 서비스로 나눌 수 있습니다.
●
중요한 비즈니스 엔티티와 이벤트는 이벤트 브로커 내부에 둔다.
●
이벤트 브로커를 단일 진실 공급원으로 사용한다.
●
서비스 간 직접 호출을 삼가한다.
17.7
마이크로서비스 구현 옵션
이벤트 기반 마이크로서비스를 구축할 때에는 장단점을 고루 지닌 다양한 옵션들을 사용할 수
있습니다. 현재 경량 프레임워크는 기본 기능에 매우 충실한 편입니다. 스트림은 테이블로 구
체화해서 ...