소유 서비스가 결정권을 가진다
다른 서비스가 DB를 직접 읽으면 배포는 나뉘어도 결합은 남는다.
마이크로서비스 적용은 코드를 작은 폴더로 나누는 일이 아니다. 데이터 소유권, 통신 계약, 장애 범위를 독립적으로 관리할 수 있을 때 의미가 생긴다.
다른 서비스가 DB를 직접 읽으면 배포는 나뉘어도 결합은 남는다.
pattern, DTO, proto, event schema는 소비자 호환성을 기준으로 바꾼다.
trace id, health, lag, retry 결과가 서비스 사이에서 이어져야 한다.
서비스가 자기 도메인 규칙과 use case를 닫아 가진다.
공통 유틸과 내부 타입 변경이 여러 서비스를 동시에 깨뜨린다.
한 서비스만 배포해도 나머지 소비자가 계속 동작한다.
모든 서비스를 같은 시간에 재배포해야 변경이 끝난다.
timeout, fallback, queue 보존으로 영향 범위가 제한된다.
하위 서비스 지연이 사용자 요청 전체를 무한 대기로 만든다.