
317
6
장
스트림 프로세싱 패턴
6.5.36.5.3
이중화 노드 장애 극복 기능 패턴 이중화 노드 장애 극복 기능 패턴
저 지연 마이크로서비스는 장애가 발생했을 때 수 분에 걸쳐서 재시작하고 상태를 복구할 만큼
여유롭지 않습니다. 이런 마이크로서비스들은 여러 개를 한꺼번에 실행해서 장애를 극복하도
록 만드는 것이 운영 차원에서도 더 좋습니다. 이렇게 마이크로서비스를 여러 노드로 실행하는
것을
이중화 노드 장애 극복 기능 패턴
two
-
node
failover
pattern
이라고 합니다.
어떻게 동작할까요
이 패턴은 백업 마이크로서비스를 병렬로 실행합니다. 마이크로서비스들을 배포할 때 우선 리
더를 뽑습니다. 리더는 주키퍼와 같은 서비스를 사용하거나 네이티브 클라우드 서비스를 사용
해서 하나의 마이크로서비스를 주 서비스로, 다른 하나를 부 서비스로 지정합니다.
[그림
6
-
26
]의 두 개의 마이크로서비스들이 들어오는 모든 이벤트를 처리합니다. 양쪽 마이크
로서비스는 같은 토픽을 구독함으로써 같은 이벤트를 처리하는데, 이는
5
장에서 설명한 발행
자-구독자 패턴으로 구현합니다. 양쪽 마이크로서비스가 같은 이벤트를 처리하기 때문에 두
서비스는 같은 상태를 유지합니다. 다만 주 서비스만 종속 시스템 측으로 이벤트 처리 결과를
전송하며, 또한 부 서비스로도 출력 결과를 보내줍니다. ...