Skip to main content Link Search Menu Expand Document (external link) Copy Copied

팀 활동

게이트웨이 고가용성 논의

팀원

추후에 무엇을 하면 좋을지 알아보던 중, 게이트웨이에 장애가 발생하면 다른 서비스에도 영향을 미치지 않도록 2개의 게이트웨이를 로드밸런싱해 사용하는 방법도 있다고 들었습니다. 예를 들어, 클라이언트가 로드밸런서를 거쳐 여러 대의 게이트웨이에 분산되고, 이후 MSA 서비스를 통해 다시 게이트웨이를 거쳐 클라이언트로 응답하는 구조를 생각해봤습니다. 좋은 방법 같아서 참고 자료를 찾아보았는데 생각보다 관련 문서가 많지 않더군요. 그래서 당장 구현하기는 어려울 것 같아, 지금은 TODO에서 빼놓는 것도 괜찮을 것 같습니다.


게이트웨이를 통해 단일 진입점의 효용을 유지하면서도 MSA에서 추구하는 고가용성을 확보할 수 있는 방향이라는 점에서 좋은 아이디어라고 생각합니다. 보통 AWS 같은 클라우드 환경에서는 오토 스케일링과 로드밸런싱을 지원하므로, 여러 대의 게이트웨이를 운영하는 것이 그리 어렵지 않을 것입니다. 다만 Spring Cloud Gateway를 여러 대로 구성하는 구체적인 방법에 대해서는 공식 문서에서도 명확히 안내가 되어 있지 않아 저 역시 찾아본 적이 있었는데, 별다른 예시가 없더군요.
그래서 궁금해서 다시 찾아보니 이 블로그 글에서 게이트웨이를 단일 장애 지점(SPoF)으로 만들지 말라고 하면서, BFF(Backend For Frontend) 패턴을 사용해 플랫폼별로 게이트웨이를 분리 운영하는 방법을 제안하고 있었습니다. 어제 레디스 특강(아직 2기 Docs에는 없지만)에서 언급된 장애 대응 방향과도 흐름이 비슷한 것 같습니다.


알림 리스너 카프카 미수신 버그

이슈

kafka 메시지 미수신


PR

카프카 숫자 데이터 변환 로직, 프로세스 더미 로직 추가 #115


GitHub Wiki 작성