← 질문 목록
#28731깊이 0
죽은 서버로 요청이 안 가는 이유는?
로드밸런서가 주기적으로 물어보고 대답이 없으면 목록에서 뺀다. 요청이 올 때 확인하는 것이 아니라 미리 확인해 둔다.
- 1. 로드밸런서에서 서버로: 살아 있냐고 주기적으로 묻는다
- 2. 서버에서 로드밸런서로: 대답이 온다. 목록에 남긴다
- 3. 로드밸런서에서 서버로: 대답이 없다. 연속 실패를 센다
- 4. 서버에서 로드밸런서로: 다시 대답한다. 목록에 되돌린다
몇 번 실패해야 빼는지는 제품과 설정에 달렸다. 한 번의 명시적 오류로 바로 빼는 것도 있고 연속 실패를 세는 것도 있다.
빼도 이미 열린 연결은 이어질 수 있다. 새로 배정하는 것을 멈추는 것이지 쓰던 것을 끊는 것이 아니다.
확인하는 주소가 중요하다. 웹 서버만 살아 있고 데이터베이스가 끊긴 상태에서 정적 파일을 돌려주면 죽은 서버가 계속 목록에 남는다.