0

私は、TCP を使用してライブ クライアント サーバー システムに取り組んでいます。システムは 24 時間年中無休で、1 日 30 分のカットオフ時間で準備ができている必要があります。

テストなどの理由で、システムに「シャドウ サーバー」をいくつか追加して、クライアントがメイン サーバーとシャドウ サーバーにリクエストを送信できるようにしたいと考えています。リクエストはすべてのサーバーに送信する必要がありますが、重要なメインサーバーからの応答のみをクライアントに送信する必要があります。シャドウ サーバーからの応答は無視する必要があります。

さらに、シャドウ サーバーの起動と停止がシステムに害を及ぼすことがあってはなりません。シャドウがアップしている場合はリクエストを受け取り、ダウンしている場合はクライアントメインサーバーには何も起こりません。

クライアントまたはメイン サーバー コードを変更せずにこれを行う方法はありますか?

4

1 に答える 1

1

TCP はポイント ツー ポイントのみであるため、クライアント コードまたはサーバー コードでこれを行うことはできません。

おそらく、どのサーバーが実行されているかを追跡し、着信要求をそれらのいずれかに転送する「フロントエンドロードバランサー」が必要になるでしょう。

ハイエンドでは、NetScalerがこれらすべてを行います。これらのデバイスのいずれかを個人的に構成したことはありませんが、「プライマリ」サーバーと「バックアップ」サーバーの両方を持つことができると思います。それらを使用すると、多くのサーバー間で負荷が均等に分散されました。また、プライマリに障害が発生した場合に備えて、そのうちの 2 つを 1 つに接続し、「ホット スタンバイ」として使用する「高可用性ペア」を構成することもできます。

おそらくこれほど洗練されたものは必要ありませんが、要点を説明するのに役立ちます。

于 2012-11-13T22:08:32.297 に答える