위 설정의 HAProxy 부분과 직접적으로 연결되는 추가 참고 사항이 하나 있습니다.
HAProxy와 Discourse를 함께 사용할 때 웹 컨테이너를 재빌드(예: ./launcher rebuild app1)하는 과정에서 HAProxy가 백엔드가 재시작되는 동안에도 해당 백엔드로 트래픽을 계속 전송하기 때문에 503 Service Unavailable 응답이 잠시 반환되는 일반적인 현상이 있습니다. 이는 Discourse 자체의 오류가 아니라, 재빌드 과정에서 백엔드가 일시적으로 사용할 수 없기 때문에 발생하는 것입니다.
권장되는 우회 방법은 HAProxy 관리 소켓을 사용하여 다음을 수행하는 것입니다:
1. 재빌드 전에 HAProxy에서 서버를 비활성화하고,
2. 재빌드가 완료된 후 다시 활성화하는 것입니다.
이렇게 하면 일시적인 503 오류를 방지할 수 있습니다.
이러한 동작과 우회 방법의 설명을 문서화한 기존 Meta 토론이 있습니다:
HAProxy를 롤링 재빌드에 사용하고 계신 분이라면, 해당 스레드에서 런북에 관리 소켓 명령이 포함된 이유에 대한 유용한 맥락을 파악할 수 있습니다.