
320
2
부
구현
def receipts(...):
def claim(...):
def report(...):
비용 서비스
함수 배포
함수 배포
함수 배포
/
receipt
/
claim
/
report
그림
8-19
각 함수는 서로 다른 애그리거트를 처리하며, 다수 함수로 배포되는 비용 서비스다. 각 함수는 서로 다른 애그리거트를 처리하며, 다수 함수로 배포되는 비용 서비스다.
이 모델을 사용하면 마이크로서비스 인스턴스가 더 이상 단일한 배포 단위로 매핑되지 않는다.
그 대신에 마이크로서비스는 이제 이론상 서로 독립적으로 배포할 수 있는 여러 가지 함수로
구성된 논리적 개념에 가깝다.
여기에 몇 가지 주의 사항이 있다. 첫째, 필자는 더 크게 분류된 외부 인터페이스를 유지하도
록 강력히 주장한다. 업스트림 소비자들에게는 여전히 비용 서비스와 통신하고 있는 것이므로
그들은 요청이 더 작은 범위의 집계에 매핑된다는 사실을 알지 못한다. 이렇게 하면 마음이 바
뀌어 사물을 재결합하거나 애그리거트 모델을 재구성하려는 경우 업스트림 소비자에게 영향을
주지 않는다.
두 번째 문제는 데이터와 관련이 있다. 이러한 애그리거트는 공유 데이터베이스를 계속 사용해
야 할까? 필자는 이 문제에 대해서는 다소 관대하다. 같은 팀이 그 모든 기능을 관리하고 개념
적으로 단일한 ‘서비스’로 남아 있다고 ...