Google Cloud 부하 분산기에서 TCP 요청이 삭제됩니다.

Google Cloud 부하 분산기에서 TCP 요청이 삭제됩니다.

우리는 서비스 중 하나에 TCP Google Cloud Loadbalancer를 사용하고 있습니다.

아키텍처는 다음과 같습니다. 프런트엔드에서 다양한 포트가 허용되는 TCP 로드 밸런서가 있고 해당 백엔드 인스턴스가 연결되어 있으며 인스턴스 서비스가 LB에서 열려 있는 동일한 포트에서 실행되고 있습니다.

예: LB IP -1.1.1.1:(100-200)즉, 다양한 포트가 열려 있습니다. 이제 백엔드에서 3개의 인스턴스가 실행 중이고 해당 인스턴스의 포트 100, 101 및 103에서 서비스가 실행 중입니다.

사용자로서 포트 100에서 실행되는 서비스에 액세스하려면 LB IP:100을 사용하여 서비스에 액세스해야 합니다. 그런데 며칠 전부터 요청이 점점 줄어들고 있어요. 그러나 인스턴스 IP:100에 직접 연결을 시도하면 서비스가 잘 작동합니다. 그래서 정확한 원인을 알 수가 없습니다. 요청도 TCP 기반이므로 LB가 요청을 삭제하는 이유는 무엇입니까?

몇 가지 의견을 제안해 주세요. 참고: GCloud 또는 콘솔에서 LB 로그를 확인할 수 있는 방법이 있습니까???

답변1

더 나은 가시성을 위해 OP의 자체 답변 게시 :

내 문제는 LB로 인한 것이 아닙니다.

내 LB는 라운드 로빈 알고리즘을 사용하여 백엔드 서버 상태를 확인하지 않고 요청을 전달했습니다. 내 서버 중 하나만 실행 중이어서 요청의 절반이 삭제되었습니다.

방금 동일한 LB에 인스턴스를 하나 더 구성했는데 문제가 해결되었습니다.

이러한 종류의 솔루션은 가장 "조잡한" 솔루션이며 어떠한 안전 장치도 제공하지 않습니다. 서버가 다운되면 일부 요청이 삭제되고 서비스가 다운그레이드됩니다.

이를 방지하는 가장 간단한 해결책은관리형 인스턴스 그룹그리고 사용건강검진모든 VM이 실행 중인지 확인한 다음로드 밸런서.

관련 정보