290
2
부
구현
마지막으로 운영 환경에서는 마이크로서비스가
4
개의 머신에 분산된
4
개의 인스턴스로 배포
되며, 차례로 서로 다른
2
개의 데이터 센터에 분산된다.
이와 같은 방식은 단지 환경을 사용하는 방법의 한 예다. 정확히 어떤 설정이 필요할지는 빌드
대상과 배포 방법에 따라 크게 달라진다. 예를 들어 고객마다 하나의 소프트웨어 복사본을 배
포해야 하는 경우 여러 개의 운영 환경이 존재하게 된다.
하지만 마이크로서비스의 정확한 토폴로지가 환경마다 변경된다는 점이 중요하다. 따라서 환
경별 구성과 함께 한 환경에서 다른 환경으로 이동할 때 인스턴스 수를 변경하는 방법을 찾아
야 한다. 또한 서비스 인스턴스를 한 번만 빌드하길 원하므로 모든 환경별 정보는 배포된 서비
스 산출물과 분리돼야 한다.
한 환경에서 다른 환경으로 이동할 때 마이크로서비스의 토폴로지를 변경하는 방법은 배포에
사용하는 메커니즘이 무엇이고 토폴로지가 서로 얼마나 다른지에 따라 크게 달라진다. 한 환경
에서 다른 환경으로 이동할 때 유일한 변경 사항이 마이크로서비스 인스턴스 수라면, 배포 동
작 일부에서 다른 수를 전달할 수 있도록 이 값을 매개변수화하는 것처럼 간단한 일이 될 수도
있다.
요약하자면, 하나의 논리적 마이크로서비스는 여러 환경에 배포할 수 있으며 한 환경에서 다른
환경으로 이동할 때 각 마이크로서비스의 인스턴스 수는 각 환경의 요구 사항에 따라 달라질
수 있다.
8.28.2
마이크로서비스 배포의 원칙 마이크로서비스 배포의 원칙
마이크로서비스를 배포하는