청록색 배포를 디자인하려면 라이브에서 핫 스왑 서버로 웹 소켓 트래픽을 게시하는 방법


13

청록색 배포는 녹색이 이전 제품 파란색 환경과 완전히 데이터 동기화되도록 녹색 환경에 배포하기 위해 라이브 제품 데이터 흐름 (파란색)을 핫 스왑 비 생산 환경 (녹색)으로 펌핑하는 것을 포함합니다.

사람들이 진행중인 웹 소켓 트래픽을 파란색에서 녹색으로 복사하는 데 사용중인 것이 무엇인지 궁금합니다. 직접 작성하거나 게시 / 구독 웹 소켓 라이브러리 또는 다른 방법으로 파란색 녹색에 접근 할 수 있습니까?

내 응용 프로그램에는 nodejs REST 서버가 있으며 모바일 장치 ... mongodb 서버 등의 웹 소켓 트래픽을 각각 GCE / AWS의 컨테이너에 관리합니다.

나는 mongodb를 파란색에서 녹색으로 동기화 할 수는 있지만 라이브 노드로 녹색 nodejs 서버를 사용하지 않을 것이라는 것을 알고 있습니다.

HTTP 트래픽을 라이브로 전달하면 HTTP 위에서 실행되는 기본 웹 소켓이 자체적으로 처리되며 특정 파란색 녹색 설정이 필요하지 않습니다.


1
DB 서버 또는 HTTP 서버를 배포하고 있는지 확인할 수 있습니까?
Purefan

SO에 대한 관련 질문 및 답변 stackoverflow.com/questions/10257770/…
Evgeny

답변:


5

최소한의 엔지니어링 서버 코드 (예제에서는 Google AppEngine 애플리케이션)를 사용하면 응답을 비교할 목적으로 프로덕션 서버가 수신 한 수신 HTTP 트래픽을 테스트 서버로 복제하고 전달할 수 있습니다. /programming/38799566/can-i-asynchronously-duplicate-a-webapp2-requesthandler-request-to-a-different-u를 참조 하십시오 .


웹 소켓은 실제로 정상적인 HTTP 트래픽이 아닙니다.
coderanger

5

웹 소켓은 실제로 이것 자체를 처리하지 않습니다. 자체 시스템을 구축 할 수 있지만 일반적으로 HA에 대한 아이디어는 어떤 일이 발생하면 클라이언트가 자동으로 다시 연결되도록 설정한다는 것입니다. 청록색 스왑 중에는 0이 아닌 다운 타임이 있지만 앱이 제대로 구축 된 경우 이미 처리해야합니다.

보다 매끄러운 것을 원한다면 프로토콜에 메시지를 작성하여 새 서버에 연결 한 다음 원래 연결을 끊을 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.