패스잇
시스템 설계 · 기초

분산 시스템에서 서비스 디스커버리(Service Discovery)가 필요한 이유와 그 개념을 설명해 주세요.

힌트 · 분산 시스템에서 서비스 인스턴스의 위치를 동적으로 찾고 통신할 수 있도록 돕는 메커니즘입니다. 서비스의 IP 주소와 포트를 관리합니다.

동적 IP로드 밸런싱서비스 등록/검색헬스 체크확장성

모범답안

분산 시스템에서 서비스 디스커버리는 서비스들이 서로를 찾고 통신할 수 있게 해주는 핵심적인 메커니즘입니다. 왜냐하면 분산 환경에서는 서비스 인스턴스의 IP 주소나 포트가 동적으로 변할 수 있기 때문입니다.

서비스 디스커버리가 없으면, 각 서비스는 다른 서비스의 정확한 위치를 미리 알 수 없어서 통신이 불가능해집니다. 서비스 디스커버리는 서비스가 시작될 때 자신의 정보를 등록하고, 다른 서비스가 필요할 때 등록된 정보를 검색하여 통신할 수 있도록 해줍니다.

이를 통해 로드 밸런싱, 장애 극복, 그리고 시스템의 확장성을 높일 수 있습니다. 예를 들어, 서비스 A가 서비스 B를 호출할 때, 서비스 디스커버리를 통해 서비스 B의 여러 인스턴스 중 하나를 선택하여 요청을 보낼 수 있습니다. 또한, 헬스 체크 기능을 통해 비정상적인 인스턴스를 자동으로 제외하고 정상적인 인스턴스만 연결해줄 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 분산 시스템 면접 질문

← 분산 시스템 면접 질문 전체 보기