494
2
부
구현
직접적인 비용을 초래할 뿐만 아니라 시스템의 복잡성을 증가시켜 잠재적으로 장애에 이르는
새로운 길을 노출할 수 있다. 각 마이크로서비스마다 완전한 전용 데이터베이스 인프라스트럭
처를 보유할 수 있지만 관리해야 할 인프라스트럭처는 더 늘어난다. 미들웨어를 사용해 두 마
이크로서비스 간을 시간적으로 분리할 수 있지만, 이 경우 브로커에 대해 고민해야 한다.
격리는 앞서 살펴본 다른 많은 기술처럼 애플리케이션의 견고성을 향상시키는 데 도움이 될 수
있지만, 공짜로 제공되는 경우는 드물다. 따라서 다른 많은 것과 마찬가지로 격리와 비용 및 복
잡성의 증가 사이에 수용 가능한 절충점을 찾는 것이 중요하다.
12.5.612.5.6
이중화이중화
무언가를 보유하는 것은 구성 요소의 견고성을 향상시키는 좋은 방법이 될 수 있다. 누군가가
퇴사하거나 휴가를 떠날 경우를 대비해 운영 환경의 데이터베이스가 작동하는 방식을 아는 사
람이 두 명 이상 있는 것은 합리적으로 보인다. 이와 마찬가지로,
2
개 이상의 마이크로서비스
인스턴스가 있을 때 인스턴스 중 하나에 장애가 발생해도 필요한 기능을 계속 제공할 수 있기
때문에 합리적이다.
이중화
redundancy
(중복성 )가 얼마나 필요하고 어디에 필요한지는 각 구성 요소의 잠재적인 장애
모드, 해당 기능을 사용하지 못할 때의 영향, 이중화에 대한 추가 비용 등을 얼마나 잘 이해하
고 있는지에 따라 달라진다.
예를 들어
AWS
는 단일
EC2
(가상 머신) 인스턴스의 가동 시간에 대한
SLA
를 제공하지 ...