0

同じ機能を提供する 2 つのバックエンド アプリケーションがあり、それらは 2 つの別々のマシンに配置されています (実際には、これは負荷分散を行うためです)。そのため、同じ方法を使用してクライアントのフロントエンド リクエストを処理します。

接続されているすべてのクライアントに関する統計を収集し (つまり、クライアント GUI アプリケーションで最も使用されているコンポーネントなど)、その結果をすべてのクライアントに毎秒送信したいと考えています。

バックエンドコンポーネントごとにこれらの統計を個別に計算し、両方を合計することを考えています。その場合、バックエンドコンポーネント間で何らかの通信を行うか、単にグローバルDBに小さなテーブルを作成し、各バックエンドがテーブルを更新してから選択するクライアントに送信しますが、統計を毎秒送信したいので、これによりパフォーマンスが低下する可能性があります

助けが必要です

4

1 に答える 1

0

より複雑なソリューションに投資する前に、任意の (またはランダムな) 割り当てが十分ではないという証拠が必要です。各マシンの統計を保持し、最初に任意の割り当て (現在の秒が奇数、マシン 1 を選択、秒が偶数、2 を選択) に基づいて負荷係数を比較します。それが機能しない場合は、より良いアルゴリズムを検討することができます。

FWIW、これはまさに、キャンパス内のコンピューティング ラボで 1000 台以上のマシンにデフォルトのプリンターを割り当てる方法です。各ラボのさまざまなプリンターに負荷が均等に分散されます。

于 2009-01-14T14:34:15.407 に答える