198
2
부
구현
를 서로 독립적으로 변경하기가 훨씬 더 쉬워졌다는 사실을 알게 된다.
확장 변경
expansion
changes
마이크로서비스 인터페이스에 새로운 것을 추가하라. 다만 오래된 것은 제거하지 않아야 한다.
관대한 독자
tolerant
reader
마이크로서비스 인터페이스를 사용할 때 기대하는 것에 유연해야 한다.
올바른 기술
right
technology
인터페이스에 하위 호환 가능한 변경 사항을 쉽게 적용하는 기술을 선택하라.
명시적 인터페이스
explicit
interface
마이크로서비스가 노출하는 내용은 명확해야 한다. 이를 통해 클라이언트는 작업을 더 쉽게 수행
하고, 마이크로서비스의 유지 보수자는 자유롭게 변경할 수 있는 것을 더 쉽게 이해한다 .
우발적 중단 변경을 일찍 발견하기
변경 사항이 배포되기 전에 운영 환경에서 소비자를 중단시킬 만한 변경 사항을 찾아내는 메커니
즘이 있어야 한다.
이러한 아이디어는 서로를 보강하며, 많은 아이디어가 자주 논의했던 정보 은닉의 핵심 개념을
기반으로 형성된다. 그럼 각 아이디어를 차례로 살펴보자.
5.6.15.6.1
확장 변경 확장 변경
아마도 가장 쉽게 시작할 수 있는 일은 마이크로서비스 계약에 새로운 것만 추가하고 어떤 것
도 제거하지 않는 것이다. 페이로드에 새 필드를 추가하는 예를 생각해보자. 클라이언트가 이
러한 변경 사항에 대해 어떤 식으로든 관대해야 한다고 가정한다면 추가는 중대한 영향을 미치
지 않아야 한다. 예를 들어 고객 레코드에 새로운
dateOfBirth
필드를 추가하는 ...