このトピックについて何も見つかりませんでした。
時々更新したいWindowsTCPC++サーバーアプリケーションがあります。
あなたが明らかに理解しているように、これは問題を引き起こします-サーバーはユーザーの観点から24時間年中無休である必要があります。
更新するときは、ユーザーとの現在のTCP接続を維持することも望まれます。
私はモジュールのようなシステムについて考えていたので、たとえば、ソケット処理モジュールは「sockets.dll」にあり、サーバーのロジックは「logic.dll」にあります。
このアプローチを採用することは、Pandoraのボックスを開くように見えます。
-モジュールの実際の「交換」をどのように行うのですか?Xワーカースレッドが1つのモジュールから別のモジュールにデータを送信し続けると想像してください。スワップするときは、それらを停止/一時停止するための(軽くて速い)方法が必要になります。多分信号?
-プロトコルバージョン、または関数のシグネチャでさえ、更新時に変更される可能性があります。それをどのように処理しますか?
-見過ごされている論理バグなどの他の問題。
-他の問題が発生することを誰が知っていますか。
上記に加えて、10台のサーバーを更新するにはどうすればよいですか?つまり、それらはすべて互いに接続され、通信しています。
更新によってプロトコルの変更が導入された場合、大きな問題が発生する可能性があります。そのような場合は、(サーバーの)クラスター全体を全体として更新する必要があります。操作全体をシャットダウンしますか?それはまったく正しく聞こえません!それ、どうやったら出来るの?ここで欠けている概念と、それをどのように学ぶのですか?
それについて私にできることはありますか?
あなたならどうしますか?あなたはそのようなことをしましたか?
問題を解決するメカニズム/記事/プロジェクト/ソース例/その他を知っていますか?
貴重なアドバイスは大歓迎です!!