카카오뱅크, 서비스 디스커버리로 안정적인 MSA 환경 구축!
by DD
1년 전
조회수 2
카카오뱅크는 서비스 디스커버리 시스템 구축을 통해 온프레미스 환경의 확장성 문제를 해결함
Consul을 선택하여 API Gateway에 동적 트래픽 제어 및 MSA 환경을 위한 동적 라우팅을 구현함
서비스메시 자체 개발 및 멀티데이터센터 환경 지원을 통해 서비스 안정성을 확보함
Consul 아키텍처: Raft와 Gossip Protocol
Consul은 Raft 알고리즘을 사용하여 Consul Server의 일관성을 보장한다. 구체적으로 Leader 선출을 통해 데이터 동기화를 수행하며, 분산 환경에서의 안정성을 확보한다. 반면 Consul Client는 Gossip Protocol을 통해 가용성을 높이고, 노드 장애를 빠르게 감지한다.
API Gateway의 역할 확장: 동적 라우팅과 트래픽 제어
카카오뱅크는 API Gateway에 Consul 서비스 레지스트리를 연동하여 동적 라우팅을 구현했다. 따라서 MSA 환경에서 서비스 추가/변경 시 레거시 코드 변경 없이 유연하게 대응할 수 있다. 결과적으로 Bulkhead를 통해 API Gateway의 안정성을 확보했다.
서비스메시(Service Mesh) 구축: 온프레미스 환경의 도전
카카오뱅크는 온프레미스 환경을 위해 자체 서비스메시를 구축하고, Envoy 프록시를 활용했다. 구체적으로 Consul 서비스 레지스트리를 통해 Envoy 프록시 설정을 동적으로 관리한다. 따라서 카나리 배포를 통해 서비스 안정성을 높이고, 멀티데이터센터 환경을 지원한다.