サーバーノードをクラスターに追加する
NCache クラスターは動的であり、実行中のキャッシュ クラスターへのサーバー ノードの追加をサポートします。 新しいキャッシュ サーバーが起動すると、既存のキャッシュ クラスターに自動的に参加します。 稼働中のキャッシュ クラスターにすでに接続されているキャッシュ クライアントは、キャッシュ トポロジで必要な場合、新しいキャッシュ サーバーに自動的に接続します。
キャッシュにノードを追加
使い方 NCache 管理センター
起動する NCache Management Center を参照して、 http://localhost:8251 or
<server-ip>:8251
WindowsおよびLinuxの場合。左側のナビゲーションバーで、をクリックします クラスター化されたキャッシュ。 これにより、次の場所に新しいページが開きます。
<server-ip>:8251/
。 このページには、既存のローカル キャッシュまたはクラスター化キャッシュと、サーバーやサーバー プラットフォームなどの追加の詳細が表示されます。キャッシュ名に対して、をクリックします 詳細を見る.
これにより、キャッシュの詳細な構成ページが開きます。 The サーバーノード タブには、キャッシュの既存のサーバーノードのリストとステータスが表示されます。
セットアップボタンをクリックすると、セットアップが開始されます ボタンをクリックしてサーバーノードのIPを指定します。 成功の通知が表示されます。
- 新しく追加されたノードがサーバーノードリストに表示されます。
コマンドラインツールの使用
追加ノード 指定したサーバー上の既存のクラスター化キャッシュに新しいサーバー ノードを追加できるようにします。 また、ユーザーはクラスター化されたキャッシュ内に複数のサーバー ノードを持つことができます。
このコマンドは、サーバー ノード 20.200.20.40 に存在する demoClusteredCache という名前のキャッシュに新しいノード 20.200.20.39 を追加します。
Add-Node -CacheName demoClusteredCache -ExistingServer 20.200.20.39 -NewServer 20.200.20.40
新しいノードがクラスターに確実に参加するようにするには、次のコマンドを使用してキャッシュを開始する必要があります。 開始キャッシュ ツール:
Start-Cache -Name demoClusteredCache
これらのコマンドレットのプロパティの詳細については、次を参照してください。 NCache コマンドラインリファレンス.
ノードの追加が成功したことを確認する
サーバー ノードが正常に追加されたことを確認するには、コマンド ラインを開き、 Get キャッシュ コマンドレット(付属 NCache) とともに -Detail
キャッシュサーバーに登録されているすべてのキャッシュの詳細なステータスを提供するパラメーター。
たとえば、この場合、demoClusteredCache のクラスター サイズは 2 で、各キャッシュ サーバーの IP アドレスがリストされていることがわかります。 追加されたノードがリストに存在するようになります。 出力には、アイテム数やステータスなどの追加のキャッシュ情報も表示されます。
Get-Caches -Detail
トポロジーの賢明な振る舞い
実行中のキャッシュ クラスターに新しいキャッシュ サーバーを追加するときのトポロジ固有の動作については、以下で説明します。
パーティション化されたキャッシュ
状態転送:
州の移転 NCache あるキャッシュサーバーから別のキャッシュサーバーにデータを自動的に移動またはコピーすることを意味します。 パーティション化されたキャッシュでは、データは実行中のキャッシュサーバー間でパーティション化されます。 したがって、新しいキャッシュサーバーがクラスターに参加すると、新しいパーティションが自動的に作成され、それに応じてデータ分散が変更されます。 そして、このキャッシュサーバーは、状態転送を通じてデータの共有を取得します。 したがって、クラスター内に2つのキャッシュサーバーがあり、各キャッシュサーバーのパーティションに1GBのキャッシュデータがある場合、新しいキャッシュサーバーがクラスターに参加すると、対応する状態転送が完了した後、すべてのキャッシュサーバーが約600MBのデータを保持するようになります。 。
クライアントの接続性:
パーティション化されたキャッシュでは、データは実行中のすべてのキャッシュ サーバー間でパーティション化されます。 したがって、キャッシュ クライアントはすべてのキャッシュ サーバーに接続され、XNUMX ホップですべてのデータにアクセスできます。 新しいキャッシュ サーバーがクラスターに参加すると、データ分散マップが変更され、新しいキャッシュ サーバーがクラスターに追加されます。 HashMap
が生成されます。 そうして HashMap
変更イベントが発生し、それを通じて実行中のすべてのキャッシュ クライアントに通知されます。 その後、この新しいキャッシュ サーバーとの接続が自動的に確立され、リクエストの送信も開始されます。
複製されたキャッシュ
状態転送:
レプリケート キャッシュでは、各キャッシュ サーバーがキャッシュ全体を保持するため、同じデータ セットが保持されます。 したがって、新しいキャッシュ サーバーがクラスターに参加すると、状態転送を通じて既存のキャッシュ サーバーからキャッシュ全体の別のコピーを取得します。
クライアントの接続性:
レプリケート キャッシュでは、各クライアントがキャッシュ全体を保持しているため、各クライアントは XNUMX つのキャッシュ サーバーにのみ接続されます。 キャッシュ クライアントは、実行中のすべてのキャッシュ サーバー間で負荷分散され、リクエストの負荷が均等に分散されます。 クライアント構成でクライアントの負荷分散をオフにすることができます。 client.ncconf ファイルまたは指定して CacheConnectionOptions.LoadBalance
フラグを false に設定します GetCache 方法。
新しいキャッシュ サーバーがレプリケート キャッシュのキャッシュ クラスターに参加し、ロード バランシングが "true" に構成されている場合、既存の各キャッシュ サーバーは一部のクライアントに、新しく参加したキャッシュ サーバーに移動するように要求します。 このようにして、クライアントはすべてのキャッシュ サーバー間で再バランスされます。 負荷分散が「false」に設定されている場合、これは何も起こらず、クライアントは以前のキャッシュ サーバーに接続されたままになります。
サーバー ノードはいつでもクラスター化キャッシュに追加できます。