青緑を設計するには、ライブからホットスワップサーバーへのWebSocketトラフィックの公開方法をデプロイします


13

青緑の展開では、緑の環境をライブで展開するための準備として、ライブのprodデータフロー(青)をホットスワップの非prod環境(緑)にポンピングし、緑が以前の青のprod環境と完全にデータ同期するようにします。

進行中のWebSocketトラフィックを青から緑にライブコピーするために人々が何を使用しているのか疑問に思います。独自のWebSocketライブラリを作成しますか、または青緑へのパブリッシュ/サブスクライブWebsocketライブラリがありますか?

私のアプリにはnodejs RESTサーバーがあり、モバイルデバイスからのwebsocketトラフィックも管理しています... mongodbサーバーなど...それぞれGCE / AWSのコンテナにあります

私はちょうどmongodbを青から緑に同期させることができることを理解していますが、それは私が探している素晴らしい回帰健全性チェックであるライブトラフィックで緑のnodejsサーバーを行使しません

おそらく、HTTPトラフィックをライブ転送するだけで、HTTPの上で実行される基礎となるWebSocketがそれ自体を処理し、特定の青緑の設定を要求しない可能性があります


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を参照してください


Websocketは実際には通常のHTTPトラフィックではありません。
coderanger

5

Websocketには、これ自体の処理はありません。独自のシステムを構築することもできますが、一般的にHAのアイデアは、何かが発生した場合、クライアントが自動的に再接続するように設定することです。青緑色のスワップ中にゼロ以外のダウンタイムが発生しますが、アプリが適切に構築されている場合は、すでにそれを処理する必要があります。

もっとスムーズにしたい場合は、プロトコルにメッセージを作成して新しいサーバーに接続し、元の接続をドロップできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.