高可用性のための動的キャッシュクラスタリング

NCache ピアツーピアアーキテクチャに基づく自己修復動的キャッシュクラスタリングを備えており、100%の稼働時間を提供します。 これはTCPベースのクラスターであり、マスター/スレーブノードはなく、代わりにクラスター内のすべてのサーバーがピアです。 これにより、キャッシュまたはアプリケーションを停止することなく、実行時にクラスターからキャッシュサーバーを追加または削除できます。

ピアツーピアアーキテクチャ(自己回復)

NCache クラスタにはピアツーピアアーキテクチャがあります。 これは、マスター/スレーブノードがなく、各サーバーがピアであることを意味します。 クラスター内で最も古いノードであるクラスターコーディネーターノードがあります。 Cluster Coordinatorノードがダウンすると、次に古いノードが自動的にコーディネーターになります。

Cluster Coordinatorは、ノードが追加または削除されたときのクラスターメンバーシップ、 パーティション化されたキャッシュ / パーティション-レプリカキャッシュ トポロジー、およびその他のキャッシュ構成情報。 Cluster Coordinatorは、クラスターの正常性も管理し、クラスター内の他のすべてのサーバーに部分的に接続されているキャッシュサーバーを強制的に削除します。

動的キャッシュクラスター

動的クラスタリング

NCache ています 動的クラスタリングアーキテクチャ。 これはあなたができることを意味します 加えます または、キャッシュまたはアプリケーションを停止せずに、クラスターからキャッシュサーバーを削除します。 キャッシュサーバーを追加または削除するたびに、クラスターメンバーシップは実行時にすぐに更新され、クラスター内のすべてのサーバーと、クラスターに接続されているすべてのクライアントに伝達されます。 このランタイムの更新と伝播により、 NCache そのような変更が行われているときでも、常に稼働していること。

動的クラスタリングを使用すると、次のことができます。

  • 実行時にキャッシュサーバーを追加/削除します。 キャッシュやアプリケーションを停止せずに
  • クラスターメンバーシップ: 実行時に更新され、クラスター内のすべてのサーバーとクラスターに接続されているすべてのクライアントに伝達されます。

動的クライアント接続

NCache 追加または削除することもできます キャッシュクライアント キャッシュや他のクライアントを停止せずに実行時に。 クライアントを追加する場合、このクライアントは、接続するクラスター内の任意のXNUMXつのキャッシュサーバーについて知っている必要があります。 そのサーバーに接続すると、クラスターメンバーシップとキャッシュトポロジ情報を受け取り、それに基づいて接続する他のサーバーを決定します。

  • 実行時にクライアントを追加/削除します。 キャッシュやアプリケーションを停止することなく。
  • パーティション化されたキャッシュ/パーティション-レプリカキャッシュ: クライアントは、すべてのキャッシュサーバー内のすべてのパーティションに接続します(パーティションはレプリカと通信するため、レプリカではありません)。 これにより、クライアントはデータの読み取りと書き込みの場所に直接移動できます。 また、新しいサーバーがクラスターに追加されると、クライアントは更新されたクラスターメンバーシップ情報を受け取り、この新しく追加されたキャッシュサーバーにも接続します。
  • 複製されたキャッシュ: の場合 複製されたキャッシュ、クライアントはクラスター内のXNUMXつのキャッシュサーバーに接続するだけですが、すべてのキャッシュサーバーに同じ数のクライアントがあることを保証するために負荷分散された方法で接続します。 クライアントは、このキャッシュサーバーから負荷分散情報を取得し、それに基づいて、必要に応じて適切なキャッシュサーバーに再接続します。 各サーバーにはキャッシュ全体があり、すべての読み取りと書き込みがその場で可能であるため、クライアントはXNUMXつのキャッシュサーバーにのみ接続します。
  • ミラーリングされたキャッシュ: の場合 ミラーリングされたキャッシュ、クライアントは、この2ノードクラスター内のアクティブノードにのみ接続します。 クライアントがパッシブノードに接続する場合、パッシブノードはクライアントにアクティブノードについて通知し、クライアントは自動的にアクティブノードに再接続します。 アクティブノードがダウンしてパッシブノードがアクティブになると、すべてのクライアントが自動的に新しいアクティブノードに接続します。
動的クライアント接続

動的構成

NCache キャッシュとクライアントの動的構成も提供します。 目的は、キャッシュまたはアプリケーションを停止することなく、後でキャッシュが実行されているときに変更を加えることができるようにすることです。

  • 実行時にすべてのサーバーとクライアントに伝達します。 これには、すべての構成とその変更、および配布マップが含まれます。
  • キャッシュ構成: 管理ツールを使用してキャッシュ構成を作成すると、この構成情報は、その時点で認識されているすべてのキャッシュサーバーにコピーされます。 また、実行時に追加される新しいサーバーは、このキャッシュ構成全体を受け取り、ローカルディスクにコピーします。
  • ホットアプライ構成の変更: 「」を使用して、実行時にキャッシュ構成の一部を変更できます。ホットアプライ「の特徴 NCache。 これを行うと、更新された構成情報が実行時にすべてのキャッシュサーバーに伝達され、それらのディスクに保存されます。 この情報の一部は、ニーズに関連するすべてのクライアントにも送信されます。
  • 配布マップ(パーティション化/パーティション-レプリカキャッシュ): これは、キャッシュの開始時に作成され、すべてのキャッシュサーバーとキャッシュクライアントにコピーされます。 この分散マップには、(クラスター化されたキャッシュ内の合計1000個のバケットのうち)どのバケットがどのパーティションに配置されているかに関する情報が含まれています。

クラスタ内の接続フェイルオーバー

クラスタ内のすべてのキャッシュサーバーは、TCPを介して相互に接続されています。 また、すべてのキャッシュサーバーは、実行時に追加された新しいサーバーを含め、クラスター内の他のすべてのキャッシュサーバーに接続されます。 NCache 接続が切断されても、クラスター内の接続が維持されるようにするためのさまざまな方法を提供します。 接続の切断は通常、ルーターやファイアウォールによるネットワークの不具合、またはネットワークカードやネットワークドライバーの問題が原因で発生します。

  • 接続の再試行: XNUMXつのキャッシュサーバー間の接続が切断された場合、 NCache サーバーは、この接続を確立するために自動的に複数の再試行を行います。 これらの再試行は、「タイムアウト」期間が使い果たされるまで行われます。 ほとんどの場合、これにより接続が再確立されます。
  • キープアライブハートビート: NCache また、各キャッシュサーバーが他のすべてのサーバーにハートビートとしていくつかの小さなデータパッケージを送信し続けるようにする機能もあります。 これにより、ネットワークソケットの破損の問題が発生した場合に、キャッシュサーバーがそれを認識し、再試行によって修正することが保証されます。
  • 部分的に接続されたサーバー: 再試行しても、タイムアウト期間内に接続が復元されず、キャッシュサーバーが他のXNUMXつ以上のキャッシュサーバーがダウンしていると見なす場合があります。 それで、それはそれらなしで働き続けます。 ただし、実際には、他のサーバーはダウンしておらず、実際にはクラスター内の他のサーバーによって認識されています。 これは、部分的に接続されたサーバーと呼ばれます。 これが発生すると、クラスターコーディネーターはこれを記録し、「部分的に接続された」サーバーをクラスターから強制的に削除します。 これにより、クラスターは再び正常になります。 また、削除されたサーバーは、手動で介入することでクラスターに再参加できます。

クライアントとの接続フェイルオーバー

すべてのキャッシュクライアントは、キャッシングトポロジに応じて、TCPを介してクラスター内のXNUMXつ以上のキャッシュサーバーに接続されます。 パーティション化/パーティション-レプリカキャッシュの場合、各クライアントはすべてのキャッシュサーバーに接続されます。 レプリケートされたキャッシュの場合、各クライアントは通常、キャッシュサーバーで使用される負荷分散アルゴリズムを介してキャッシュサーバーのXNUMXつに接続されます。 また、ミラーリングされたキャッシュの場合、すべてのクライアントはアクティブノードにのみ接続され、アクティブノードがダウンしてパッシブノードがアクティブノードになったときにのみパッシブノードに接続します。

  • 接続の再試行: クライアントとキャッシュサーバー間の接続が切断された場合、 NCache クライアントは自動的に複数を行います 接続の再試行 この接続を確立します。 これらの再試行は、「タイムアウト」期間が使い果たされるまで行われます。 ほとんどの場合、これにより、クライアントアプリケーションが気付くことなく接続が再確立されます。 接続を確立できない場合は、クライアントアプリケーションに例外がスローされ、クライアントアプリケーションで処理できるようになります。
  • キープアライブハートビート: NCache また、各クライアントがいくつかの小さなデータパッケージを次のように送信し続けるようにする機能もあります ハートビート 接続されているすべてのキャッシュサーバーに接続します。 これにより、ネットワークソケットの破損の問題が発生した場合に、クライアントはそれを認識し、接続の再試行によって修正することができます。
  • 部分的に接続されたクライアント(パーティション化/パーティション-レプリカキャッシュ): 再試行しても、タイムアウト期間内に接続が復元されず、キャッシュクライアントは、ダウンしていない場合でも、他のXNUMXつ以上のキャッシュサーバーに到達できないと見なす場合があります。 したがって、Partitioned / Partition-Replica Cacheの場合、分散マップが通信できないサーバーにデータがあることを示していても、他のサーバーと対話してすべてのデータを読み書きします。 この場合、他のキャッシュサーバーが仲介役として機能し、操作を正常に実行します。
  • サーバーとの切断(複製/ミラーリングされたキャッシュ): レプリケートされたキャッシュの場合、クライアントはXNUMXつのサーバーにのみ接続され、この接続が切断されると、クライアントは他のキャッシュサーバーのXNUMXつに自動的に接続します。 ミラーリングされたキャッシュの場合、クライアントがアクティブノードに接続できない場合、クライアントはダウンしていると見なし、パッシブノードに接続しようとします。

次はどうする?

お問い合わせ(英語)

電話
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。