マルチデータセンター展開のためのWANレプリケーション NCache

録画されたウェビナー
ロン・フセイン、ザック・カーン著

このウェビナーでは、 NCache データセンター間でキャッシュをWANレプリケーションするためのブリッジ機能。

このウェビナーの内容は次のとおりです。

  • NCacheの WAN レプリケーション用ブリッジ機能
  • NCache ブリッジ トポロジ (アクティブ-アクティブ、アクティブ-パッシブ、3 つ以上のアクティブ-アクティブ データセンター)
  • 高度なブリッジ機能:
    • 高可用性とフェイルオーバーの橋渡し
    • 動的競合リゾルバー
    • 並列およびバルク非同期レプリケーション
    • キューの最適化
  • マルチサイトセッションのキュー機能
  • ブリッジのパフォーマンス/デバッグ監視オプション

今日のウェビナーのトピックは、「を使用したマルチデータセンター展開のための WAN レプリケーション」になります。 NCache。 今日のウェビナーでは、次のことを取り上げます。 NCacheのブリッジ機能。 これには以下も含まれます NCacheのブリッジ トポロジ、高度なブリッジ機能 NCache マルチサイト セッションのキューイング、ブリッジ パフォーマンスおよびデバッグ監視オプションがあります。

今日は非常に重要なトピックを取り上げました。 具体的には、複数のデータセンターにデプロイされているアプリケーションの場合です。 これらにはさまざまな理由が考えられます。 たとえば、DR サイトが必要な場合、アクティブ/アクティブのマルチデータセンター展開が必要な場合、または必要なデータの East-to-West 移行が必要になる場合があります。

そこで、 WANレプリケーション機能 ブリッジ トポロジを利用して利用可能です。詳細はすべて説明します。 WAN レプリケーションが有効になっているときにオブジェクト キャッシュを使用する方法。 これは、アクティブ/パッシブ、アクティブ/アクティブ、および複数のアクティブ/アクティブのデータセンター展開に使用します。 したがって、カバーしなければならないことがたくさんあります。 誰もが私の画面を見て、私の声をうまく聞くことができると思います。 GoTo ミーティングの質問と回答タブを通じてすぐに確認が得られれば、それは非常に良いことであり、すぐにプレゼンテーションを開始することができます。 それで、全員が私たちの画面を見て、問題なく大丈夫かどうかを確認してください。

はじめに NCache

それでは、なぜ次のような分散キャッシュ システムが必要なのかについて、非常に基本的な情報から始めます。 NCache? したがって、通常は、アプリケーションのパフォーマンスとスケーラビリティのボトルネックが問題を引き起こし、アプリケーションの高速かつ信頼性の高い方法での実行が制限されます。

スケーラビリティの問題

アプリケーション層は非常にスケーラブルです。 Web アプリケーションまたはバックエンド アプリケーションを使用できます。 Web ファームまたはアプリケーション サーバー ファームはいつでも作成でき、アプリケーションを複数のサーバーにデプロイできます。 負担を分散することができます。 複数のサーバーは、これらすべてのアプリケーション要求を相互に組み合わせて並行して処理するのに役立ちますが、これらすべてのアプリケーションはバックエンド データベースと通信する必要があり、それが通常競合の原因となります。 データベース サーバーとその非常に高価なリソースもスケールアウトできないため、データベースはアプリケーションのパフォーマンスだけでなくスケーラビリティのボトルネックになります。 では、いつでもスケールアップできますが、データベース サーバーのスケールアップには制限があるのでしょうか? NoSQL アプリケーションを再構築する必要があるため、通常はこれが解決策になりません。 リレーショナル データベースの使用を停止し、 NoSQL それを使用するためのデータ ソースと呼ばれる製品もあります。 NosDB これは NoSQL database しかし、私たちはこれを処理する別の方法を計画しており、それは分散キャッシュ システムを使用することです。

したがって、まず第一に、このスケーラビリティの問題に対する解決策は非常に簡単で、インメモリ分散キャッシュ システムを使用し始めることです。 ディスクと比較して、インメモリなので非常に高速です。 したがって、プラグインするとすぐにアプリケーションのパフォーマンスが向上します。 NCache.

次に、サーバーのチームです。 それはキャッシュクラスターです。 データベースのような単一のソースだけではありません。 複数のサーバーがキャッシュ クラスターに参加しています。 つまり、これは、追加を選択できる多くのサーバーによってプールされる論理ストレージです。 そのため、リレーショナル データベースと比較して非常にスケーラブルになります。 2 台のサーバーから開始し、実行時にさらにサーバーを追加できます。 そのため、ますますスケーラブルになり、実際には線形にスケーラブルになり、サーバーを追加できるようになり、その結果、リクエスト処理能力が向上し続けます。 NCache。 良い点 NCache バックエンド データベース、リレーショナル データベースに加えて使用するということです。 バックエンド データベースから取得したデータの使用を補完する機能が多数あります。 したがって、いつでも使用できます NCache リレーショナル データベースと組み合わせて使用​​します。 これはリレーショナル データ ソースに代わるものではありません。 スケーラビリティの数値。

スケーラビリティの数値

NCache サーバーを追加しても非常に拡張性が高い NCache より多くのリクエストを処理できるようになります NCache 集まる。 最近、QA 環境でこれらのテストを実施しました。 私たちは AWS ラボを使用しており、負荷を増やし続け、さらにサーバーを最大 5 台まで追加し続けました。 NCache これは、分散キャッシュの非常に一般的な構成です。 2 秒あたり 1 万リクエストを達成することができ、サーバーを追加するたびにキャッシュ クラスターの容量も増加するという増加傾向でした。 平均 XNUMX キロバイトのオブジェクト サイズでは、これくらいのパフォーマンスが期待できます。 NCache より優れたハードウェアを使用すると、これらの数値をさらに拡張して、より優れたパフォーマンス スループットを得ることができます。 NCache。 ちなみに、これらのベンチマークには、 ホワイトペーパー フォルダーとその下に ビデオ 弊社ウェブサイトでもデモンストレーションを公開しております。 ですので、それも参考にしてみてください。

導入の詳細。 一般的な展開ではどのようになりますか? NCache のようになります。

キャッシュの展開

ここでは単一サイトのデプロイメントを示します。 NCache。 ご覧のとおり、当社には単一サイトがあり、あなたの場合、その WAN レプリケーションの側面について話していますが、明らかに複数のデプロイメントがあり、別個のデータセンターがあり、そこにもデータセンターが存在します。 NCache およびアプリケーションが展開されます。

そこで、図に示すように、分散キャッシュ デプロイメントを使用して、一般的なデプロイメントがどのように見えるかを説明します。 それで、私たちは再びサーバーのチームを作りました。 図には 4 ~ 5 台のサーバーが示されています。つまり、キャッシュ クラスターがホストされており、ご覧のとおり、アプリケーションとデータベースの間に配置されています。 ここでの考え方は、これらのソースを相互に組み合わせて使用​​することです。オブジェクト キャッシュではなくセッション キャッシュでは、キャッシュが主なデータ ソースになります。 したがって、すべてのセッションは次の場所に保存できます。 NCache 他の場所に行く必要はありません。 非常に柔軟な導入モデルが利用可能です。 NCache オンプレミスでホストできます。 物理ボックスまたは仮想ボックスの場合があります。 雲の中にもあるかもしれません。 パブリック クラウドでもプライベート クラウドでもかまいません。 これらのクラウド ベンダーの両方で利用できるマーケットプレイス イメージがあるため、Azure AWS 上にある可能性もあります。 ただし、一般に、Windows または Linux を搭載し、次の要件のみを備えたサーバーは、 NCache .NET または .NET Core フレームワーク。 したがって、これらは前提条件です。 それは単なる .NET であり、 .NET Core which NCache 前提条件として必要です。 それが利用可能であれば、 NCache Windows だけでなく Linux 環境にも非常に柔軟にデプロイできます。先ほども言いましたが、どのような環境でも可能です。Docker を使用したり、ホストしたりすることもできます。 NCache Kubernetes クラスターでは、他の多くのプラットフォームが開かれます。 OpenShift で使用できます。 Azure Kubernetes サービスで使用できます。 Elastic Kubernetes サービスも同様です。 つまり、これらすべてのプラットフォームが装備されており、 NCache それらすべてのプラットフォームに展開できるように装備されています。

XNUMX つの展開オプションがあります。 XNUMX つは図に示すように専用キャッシュ層を使用する方法で、もう XNUMX つは専用キャッシュ層でアプリケーションを別のボックスで実行し、 NCache 別の専用層で実行されます。 共有層もあり、アプローチも利用可能で、そこでも実行できます。 NCache アプリケーションボックスの横にあります。 したがって、アプリケーションがホストされている場所に関係なく、 NCache その上でホストすることができます。 したがって、これは非常に簡単なことだと思います。 マルチ データセンター展開では、複数のデータセンターがあり、同じ展開が行われます。 NCache もう一方のデータセンターについても同様です。これについては今後のスライドで説明します。ちなみに、ご質問がある場合は、いつでも質問と回答タブに質問を投稿してください。ザックと私は、これから投稿されるすべての質問に注目してください。すべての質問に喜んでお答えします。 質問と言えば、先ほどおっしゃったので、一つだけ申し上げたいことがあります。今、Kubernetes について言及されていたのは非常に簡単でした。 そこで質問は、ブリッジとこれ全般について話しますが、これらすべてにオペレーティング システム要件はあるのでしょうか? これを Linux 上で実行できますか? 絶対に。 NCache 非常に柔軟です。 展開図からもわかるように。 ご覧いただけます NCache Windows および Linux サーバーでサポートされています。 したがって、Linux サーバーでは、次のことが必要です。 .NET Core のリリース NCache これらにはサーバーとクライアントがあります。 それで、もしあなたが走りたいなら、 NCache Linux 上の .NET 上のサーバーを使用して .NET Core それが可能であれば、アプリケーションはいつでも私たちのものを使用できるようになります。 .NET Core Linux だけでなく Windows にもリリースして展開できるので、そのとおりです。 素晴らしい。 残りの部分については実際に説明していただき、後ほど質問をさせていただきます。

マルチデータセンター展開 NCache

そこで、次に、マルチデータセンター展開について説明します。 NCache。 ここで、アプリケーションが複数のデータセンターにデプロイされている場合、または XNUMX つのアクティブ サイトがあり、DR シナリオ用にパッシブ サイトがある場合があります。 たとえば、アクティブ サイトがダウンした場合、アプリケーションは常に稼働している必要があります。それがミッション クリティカルなアプリケーションであれば、ビジネスにとって重要です。 サイトレベルでダウンタイムが発生すると、ビジネスに影響を及ぼします。

NCache クラスターは、高可用性とデータ信頼性の機能がすでに装備されているように設計されています。 したがって、単一サイト レベルで、XNUMX 台または XNUMX 台のサーバーがダウンした場合、たとえばサーバーを失った場合、 NCache は問題なくその停止に対処できるようになっています。 しかし今日は、サイトレベルの停止が発生したらどうなるかについて話します。 または、メンテナンスのためにサイトを停止する必要があり、サイト全体が停止します。 つまり、すべてのサーバーがダウンしています。 NCache はそのシナリオを処理する機能も備えており、それが今日取り上げる予定の内容です。 では、なぜ WAN レプリケーションが必要なのかについて話しましょう。

wan-レプリケーション

通常、アプリケーションに高可用性が必要な場合、単一のサイトが単一障害点になる可能性があります。 サイトがダウンすると、すべてのデータが失われ、アプリケーション ユーザーにダウンタイムが発生する可能性があり、それがビジネスに影響を与える可能性があることは、私たちがすでに確認しています。 マルチリージョン アプリは、WAN 経由で相互に通信する必要がある場合、遅くなります。 たとえば、XNUMX つのデータセンターがデプロイされ、アプリケーションが米国地域にある XNUMX つのデータセンターにデプロイされ、さらに別のアプリケーションがヨーロッパまたはその他の地域 (アジア地域など) にデプロイされているとします。 したがって、その場合、アプリケーション データベースがデータセンターのいずれかに配置されている場合、リモート サイトはネットワークを経由する必要があります。 したがって、ネットワーク速度は、他のサイトの遅延に影響します。 ご存知のとおり、そのシナリオに対処するには、通常、WAN 経由でもデータ ソースをレプリケートします。これが私たちが推奨していることです。 NCache 同様に、それ NCache 複製する必要があります。 しかし、共通のデータ ソースがあることを考えると、リモート サイトは WAN を経由する必要があり、データはそのサイトのローカルではないため、パフォーマンスに影響を与える可能性があり、データ センター間の距離もスループットに影響します。 。 サイト間で送信できるデータには限界があります。 そのため、リクエストの処理能力が制限される可能性があります。

したがって、複数地域のアプリがあり、両方のアプリがアクティブな場合には、これら XNUMX つの問題が発生します。 リクエストレベルでのデータレプリケーションもコストがかかります。 たとえば、データベース全体をレプリケートせず、データ ソースが XNUMX つのデータセンターにあるとします。 ここで、リクエストが遠隔地、地理的に離れた場所からデータベースに送信されます。 すべてのデータ、つまりデータ ソースに送信されるリクエスト ユニットに対するリクエスト レベルのレプリケーションは、非常にコストがかかり、多くの帯域幅とリソースを消費します。 したがって、データをローカルで利用できるアクティブなメカニズムが必要です。そのため、キャッシュの WAN レプリケーションが必須になります。 つまり、XNUMX つのデータセンターからのデータがネットワークを介して他のサイトに複製されます。

いくつかの使用例。 WAN レプリケーションを正確にどこで使用できるのか?

ユースケース

私たちが遭遇する最も一般的なのは、災害復旧サイトです。 主要なビジネス ユースケースに対応するアクティブなサイトがあります。 ここでトラフィックが生成され、処理されます。 サイト全体がダウンしたらどうなるでしょうか? フォールバック オプションが必要ですよね。 したがって、その DR サイトにはデータがすでに利用可能になっているはずです。 そうしないと、すでにダウンしているサイトに戻らなければならなくなった場合に、そのデータ要件を処理できなくなります。 したがって、DR サイトでデータを利用できるようにし、すでに稼動している必要があります。 必要なのは、トラフィックをその DR サイトにシフトすることだけです。 他に何もする必要はなく、トラフィックを災害復旧サイトにルーティングするだけで、アクティブ サイトと同じパフォーマンス値、同じパフォーマンス マトリックスで動作するはずです。 したがって、障害が発生した場合でも、次の助けを借りて 100% のデータ回復が可能です。 NCache WANレプリケーション。

マルチリージョンアプリケーションは、ロードだけでなくデータも共有できます。 さて、アクティブ/アクティブ サイトでは、米国に XNUMX つのリージョンがあり、ヨーロッパやアジアなど世界の別の地域に XNUMX つのリージョンがあるとします。 データセンターからのリクエストをロケーション アフィニティに基づいて処理したい場合は、それを実現できます。 これで、アジアのユーザーは、そのリージョン内の、そのリージョンに最も近いサイトに接続でき、そこのキャッシュも使用でき、そのキャッシュは米国リージョンにある他のキャッシュと同期されます。 つまり、跳ね返されるユーザー。 たとえば、オーバーフローを管理する必要がある場合や、容量を分散する必要がある場合などです。 アジア地域が完全に閉塞しているため、一部のユーザーは米国地域にバウンスする必要があるため、いつでもそれを行うことができます。 したがって、サイト レベルで、その時点およびその時点でサイトが処理している容量に基づいて、リクエストの負荷分散を行うことができます。 キャッシュ データはすでにデータセンター間でレプリケートされており、それを実現する方法については後ほど説明します。そのため、マルチリージョン アプリケーションは効率的にアプリケーション データを共有し、リクエストの負荷も共有でき、均等な負荷分散も可能になります。 。 冗長なデータ移行は行われません。 これは、あるデータセンターから別のデータセンターにバウンスするリクエストに基づいているだけで、そこにすでに接続されているキャッシュからいつでもデータを取得できます。

東から西へのアプリケーション データの移行も、別の使用例です。 たとえば、アジア市場は西洋市場よりも早く始まりますよね。 したがって、データの傾向は通常、東から西に進みます。 そのため、東部サイトにキャッシュを設定し、タイムゾーンを使用して、データがデータセンターと西部リージョン間を移動し、西部に到達することができます。 したがって、データセンター間で複製されたデータ (キャッシュ データ) がある場合、西部リージョンは東部リージョンから利用できるすべてのデータを利用できるようになります。 したがって、東から西へのデータ移行が可能になり、メンテナンスのユースケースが XNUMX 番目のユースケースになります。

XNUMX つ目は、ダウンタイムなしでアップグレードを展開し、保守できることです。 これは非常に差し迫ったユースケースになりつつあります。 NCache 同じように。 つまり、アップグレードを計画している場合は、ブリッジ トポロジを使用して、古いバージョンと新しいバージョンの間でアップグレードできます。 古いデータがある場合は、ライブ アップグレード機能を使用して、バージョン データを新しいバージョンに送信できます。 サイト間で行うこともできます。たとえば、XNUMX つのサイトを使用してパッシブ サイトにデータをアクティブにレプリケートし、アクティブ サイトでアップグレード、新しいコードのデプロイ、パフォーマンスの維持、メンテナンスを行うことができ、すべてのデータが利用可能になり、さらに言えば、トラフィックはパッシブ サイトにルーティングできます。 そのため、どちらのサイトも、ダウンタイムやアプリケーション データの損失が発生することなく、常に稼働し続けることができます。

NCache WANレプリケーション用のブリッジ

それで、それを処理する方法について話しましょう? 機能の名前は NCache 橋。 同じ商品の一部です。 別途インストールする必要はありません。 NCache Enterprise が装備されています NCache ブリッジトポロジ そしてそれについて話しましょう。

それで、私たちのキャッシュ、 NCache ブリッジ機能を使用すると、データセンター間でキャッシュを複製できます。

ncache-橋

これは非同期レプリケーション モデルに基づいています。 アプリケーション側でのパフォーマンスの低下は発生しません。 キャッシュ アプリケーションは、XNUMX つのデータセンター上のキャッシュにアクティブに接続されています。 たとえば、ここにクライアントがあり、アクティブ/パッシブ キューでもあり、他のサイトにデータを非同期で送信するブリッジを作成できます。

アクティブパッシブ

つまり、非同期レプリケーションに基づいているため、データのレプリケーションでパフォーマンスが低下することはありません。 とても信頼できます。 フォールトトレラントです。 接続障害を自動的に検出します。 自動的に再接続されます。 自動再試行オプションが利用できるため、ブリッジもアクティブ/パッシブ キューにバックアップされます。

つまり、アクティブ ブリッジ サーバーがあり、さらにパッシブ ブリッジ サーバーも存在します。 アクティブ ブリッジ サーバーがダウンした場合、パッシブ サーバーが遅延することなくすべてのレプリケーション操作を開始します。 セットアップは非常に簡単で、コードの変更や追加のインストールは必要ありません。 これは同じ製品である Enterprise の一部であり、同じ製品に統合された独自の監視および管理サポートを提供します。 NCache Enterprise この製品は複数のトポロジをサポートしています。これについては次に説明します。

したがって、XNUMX つの主要なトポロジがあります。

トポロジ

アクティブ-パッシブがあります。 アクティブ サイトがあり、次にパッシブ サイトがあります。 パッシブ サイトもクライアントのリクエストを受け付けますが、データ フローはアクティブからパッシブになります。 したがって、DR サイト要件がある場合は、XNUMX つのサイトをアクティブにしてブリッジに接続し、他のサイトをパッシブにすることができます。 アクティブ サイトはパッシブ サイトにデータを送信します。 つまり、一方通行の送信になります。 パッシブという用語は本質的に、パッシブ サイトがデータをアクティブに送信していないことを意味します。 これはまだ実行されており、クライアント アプリケーションでそれを利用できます。 ですから、決して止められるものではありません。 東から西への移行は、アクティブ パッシブで実現できます。 メンテナンスとアップグレードのユースケースは、アクティブ/パッシブの助けを借りて処理できます。

アクティブ/アクティブ トポロジは、1 つのアプリケーションを 2 つの異なる地理的場所にデプロイしており、サイト 2 のデータをサイト 1 で利用できるようにし、サイト 3 のデータをサイト 2 で利用できるようにする場合に使用します。アプリケーションがサイト 3 の間でデータ共有要件を必要とする場合は、地理的なサイトでは、両方のデータセンターでユーザーがアクティブになっているアクティブ/アクティブをターゲットにすることができます。 クライアントは両方のデータセンターに接続されており、XNUMX つの異なるサイト間で双方向のレプリケーションが行われており、XNUMX、XNUMX+、または XNUMX+ のアクティブ/アクティブ トポロジがあり、プライマリ入札サーバーは XNUMX つありますが、すべてのサイトにデータを送信しています。それらのサイトはまた、他のすべてのサイトにデータを送信しています。 したがって、XNUMX つの更新をすべてのデータセンターに適用する必要があり、その逆も同様です。

これがアクティブ/パッシブです。

アクティブパッシブ

この中には、キューであるブリッジがあり、これもアクティブ/パッシブです。 サイト 1 にはキャッシュ クラスターがあり、これはクライアントのリクエストを処理するだけです。 ここには3つのサーバーがあります。 ブリッジに繋がっています。 Bridge も敷地の 1 つにあります。 または、場合によっては、サイト 2 にアクティブ ブリッジを配置し、サイト XNUMX にパッシブ ブリッジ サーバーを配置することもできます。これも可能ですが、通常は、展開アーキテクチャ内のいずれかのサイトにブリッジを移動することをお勧めします。 XNUMX 番目のサイトはパッシブ サイトで、これもパッシブにより引き続き実行されます。 パッシブ サイトはデータをアクティブ サイトに複製しないだけです。 これはデータの一方向送信であり、これがパッシブ サイトであると言う場合の意味はそれだけです。 基本的にクライアント アプリケーションをここで実行でき、この状態でも完全に機能します。 つまり、これはアクティブとパッシブのデータのレプリケーションなので、このサーバーがダウンすると、パッシブがアクティブになり、自動的に行われます。 コードを変更する必要はありません。 実践部分に進んでから、ブリッジの設定方法を説明します。 とてもシンプルです。

質問がありましたが、これはアクティブ/パッシブに関係しています。主に、アクティブ サイトとパッシブ サイトがある場合、パッシブ サイトをアクティブにするにはどうすればよいですか? 手動プロセスですか? サイトは停止されていますか? どうやってそれを行うのですか? さて、この質問を正しく理解していれば、アクティブ化する方法という観点から見ると、パッシブ サイトは何でしょうか? すでに有効化されています。 実行中ですが、このサイトを停止する場合、またはトラフィックをここに移動する場合、このサイトに移動する必要があるのはアプリケーションのトラフィック負荷です。 つまり、ここにアプリケーション サーバーがあり、ここにもアプリケーション サーバーがあり、所有するデータはすべてここに送信され、このサイトのユーザーはキャッシュ自体からデータを利用できるようになります。 これで、いつでもトラフィックをパッシブ サイトにルーティングし、すべてのデータを利用できるようになります。 したがって、アクティブ化するために必要な手順はありません。 ただし、このサイトからアクティブ サイトへのデータの送信も開始したい場合は、GUI ツールを使用してサイトをアクティブにすることができます。 したがって、レプリケーションに関して、これでデータをアクティブにレプリケートして戻したい場合は、いつでもこれをアクティブにすることができ、これはランタイム プロセスになります。 したがって、GUI ツールを XNUMX 行クリックするだけでそれを実現することも、PowerShell ツールを使用してそれを実現することもできます。 ただし、質問がパッシブ ノードをアクティブにすることに関するものである場合。 クライアント アプリケーションを接続してデータを使用できるようにするための手動手順がある場合、それはすでに実行されています。 このキャッシュ クラスターへのトラフィックのルーティングを開始すると、アプリケーションはそれを使用し始めます。 したがって、ロードバランサー内で。 このサイトをオフにして、すべてのトラフィックを利用可能なサイトにルーティングします。このサイトはすでに稼働しており、レプリケートされているすべてのデータを取得/利用できます。

つまり、アクティブ-アクティブ、これも同じ原理に基づいています。 ある敷地に橋がかかっているところ。

アクティブ-アクティブ

キャッシュ 1 とキャッシュ 2 があります。どちらのサイトもアクティブであり、右クリックしてアクティブにすることでパッシブ トポロジもアクティブにできます。この場合、サイト 1 のキャッシュのデータは、キャッシュからブリッジに非同期でサイト 2 に送信されます。そしてブリッジからキャッシュに転送され、その後同様にサイト 2 もデータをサイト 1 に転送します。

3+アクティブ-アクティブ

3 つ以上のアクティブ/アクティブ データセンター、ここでは 2 つ以上のアクティブ/アクティブがあり、サイトの 1 つがブリッジ サーバーとして存在します。 ブリッジのフォールバック サイトを作成することもできます。 バックアップブリッジサイトも用意できます。 ただし、一般的には、ホスティングを行うサイトの 3 つがホスティング ブリッジになり、そのサイトが他のサイトにデータを送信し、同様にサイト XNUMX がブリッジを介してサイト XNUMX とサイト XNUMX にデータを転送します。 -active では、時間ベースの競合解決があるため、最後の更新が優先されます。 私たちが使用するすべてのデータ構造には競合がありません。 これらは競合のないデータ型です。 最終更新が全体的にキャッシュ クラスターに適用されるため、競合状態やデータの整合性の問題は発生しません。 それで、 NCache 同じキーに対する XNUMX つの更新が入っているかどうかを管理します。 NCache はそれを評価し、必要に応じて独自の競合解決を構築することもできます。 したがって、それはの一部として管理されています NCache トポロジ。

そこで、ブリッジ構成を簡単に見てみましょう。

ブリッジ構成

我々は持っています NCache ブリッジ構成。 NCache ブリッジが名前で、その次にロンドがありますnCache 環境 1 では、同じ名前の複数のキャッシュを持つこともできます。 NewYorkCacheとこれらは接続されています。

実践的なデモ NCache

それでは、実際にこれらすべてを実際に動作させて、ブリッジを構成する方法を説明しましょう。 それを始める方法と、実際にオブジェクト キャッシュとセッション キャッシュのアプリケーションを紹介します。 Ron の説明に入る前に、前のスライドのコードで質問が出ました。質問は、ブリッジを設定するために必要なコードの変更は何ですか? ブリッジ経由でデータを複製するにはコードを記述する必要がありますか? 全くない。 コードは必要ありません。 それは単なる構成です。 したがって、データセンター 1 にキャッシュ 1 があり、データセンター 2 にキャッシュ 2 があります。ブリッジと、アプリケーションによってすでに追加されているデータを構成するだけです。 NCache、ブリッジを介して自動的にレプリケートされます。 したがって、すべてのレプリケーションを担当するのはブリッジの責任です。 データセンター間でデータをレプリケートするために明示的にコードを記述する必要はありません。また、データ型、つまり競合解決についても、デフォルトで実装されるものであり、時間ベースですが、独自の実装をしたい場合は、競合解決、ビジネス要件がオブジェクトを評価することである場合、複数の更新が入った場合、そのインターフェイスを実装できます。 ただし、データの複製に関する限り、それはブリッジの責任です。 そのためのコードを記述する必要はありません。

キャッシュを作成する

それでは、早速始めさせていただきます。 キャッシュを作成する.

キャッシュの作成

たとえば、site1cache という名前を付けるか、実際にここで SiteOneCache を使用させてみましょう。 これは、すぐに開始してブリッジを作成できるようにする方法を示すためのものです。 すべてデフォルトのままにしておきます。 NCache アーキテクチャはこれらすべての詳細をカバーします。

細部

それでは、早速見ていきましょう。 レプリカ キャッシュのパーティション、任意のクラスター。 トポロジの非同期レプリケーション。 101 を選択するつもりですが、102 が利用可能であれば、それを選択できるかどうか見てみましょう。 これらはブリッジをホストするための 101 つのサーバーです。 このすべてをデフォルトのままにします。 これを起動すると自動起動もします。 仕上げる。 したがって、私のキャッシュ 102 は XNUMX と XNUMX にあり、これから作成されます。 それがどうなるかを見てみましょう。次に、別のサーバーのセットに別のキャッシュを作成してから、ブリッジをホストして、これがどのように機能するかを示します。 右。 これで、SiteOneCache が完全に構成されました。 ご覧のとおり、それも始まりました。

configure

さて、実際に作成してみます。別のキャッシュ、SiteTwoCache を作成します。 それは使えると思います。 さっきまでそれで遊んでたんですよ。 すべてをシンプルにして、今回は別のサーバーのセットを指定して、これを完全に別のサイトとして表現します。 すべてをデフォルトのままにしておきます。ちなみに、ブリッジを使用すると、管理および財務ツールからすべてのサイトを 101 つの中央の場所から実際にブリッジとともに管理できるようになります。 したがって、ネットワークにアクセスできる場合。 SiteOne と SiteTwo の間に使用可能な WAN リンクがある場合は、基本的にすべてを管理できます。 ここに SiteTwoCache があります。 ここにSiteOneCacheがあります。 102 107 は SiteOneCache を表します。 108 と XNUMX は SiteTwoCache を表します。 さて、これらも同様に開始されます。

XNUMXつのキャッシュ

統計をクリックすると、ここにはまだオブジェクトが追加されていないことがわかります。 データは SiteOneCache または SiteTwoCache に追加されないため、問題ありません。 これを実行するだけです。 このカウンターを確認するには権限に問題があると思います。 できると思います、大丈夫。 したがって、まだ利用可能なアイテムがないことがわかります。 次に、ブリッジを使用してこれら XNUMX つのキャッシュをリンクします。これを次に構成します。

ブリッジを作成する

そこで、ここでブリッジを作成してみます。

ブリッジの作成

それで、私はただ言います NCacheデモブリッジ。

デモブリッジ

任意の名前を付けることができ、ブリッジは任意のサーバー上に配置できます。 たとえば、107 番地です。箱を渡しましょう。どうぞ。 それでは、101 と 102 にブリッジを作成しましょう。権限の問題があります。 それでは、107 を追加できるかどうか見てみましょう。追加できない場合は、ブリッジに 101 台のサーバーだけを使用します。 これには、特定のポートを開く必要があります。 したがって、私のマシンではこれらのポートがすべて開いていると思います。 ということで、今回は 1.2 を使用させていただきます。 サーバーは XNUMX つで十分です。 バックアップ サーバーは存在しませんが、いつでも追加できます。すべてをデフォルトのままにして [完了] を選択します。 ブリッジの起動時に自動的にブリッジを開始することも可能です。その後、ブリッジの [詳細の表示] をクリックすると、たとえばここをクリックすると、すべてのブリッジ設定が開きます。 ここで、必要に応じてブリッジにノードを追加したり、アクティブまたはパッシブとして機能するキャッシュを追加したりすることを指定できます。 したがって、「追加」をクリックしても、何らかの理由で実際に追加できません。 ご了承ください。 待っている間にこっそり質問できます。 はい、どうぞ。 はい、はい、ちょうど XNUMX つ出てきました。 これは非常に簡単です。安全なデータ送信をどのように確保するかに関係しています。 暗号化機能をご利用いただけます。 したがって、キャッシュ レベルの暗号化またはセキュリティがオンになっている場合、ブリッジはそれにに従います。 したがって、暗号化とセキュリティをオフにしてオンにしている場合、CacheOne と CacheTwo の間で送信される通信はすべて暗号化されます。 そのため、AES、DES、FIPS に準拠した暗号化プロバイダーも備えています。 TLS XNUMX もサポートされています。 そのため、トランスポート レベル セキュリティとペイロード レベル セキュリティの暗号化機能を備えています。 したがって、これらの機能を活用できます。

ブリッジにキャッシュを追加する

わかりました。それでは、ここでキャッシュの XNUMX つである SiteOneCache を選択します。 したがって、アクティブまたはパッシブを選択できます。 ここでは「Active」を選択し、「Finish」を選択します。

アクティブキャッシュ

そのため、SiteOneCache がブリッジの下に追加されます。 次に、107 ボックスからの XNUMX 番目のキャッシュを追加します。 サービス コントロール マネージャーを開くことができることを願っています。 私は。 それを選択してください、SiteTwoCache。 もう一度アクティブにしましょう。 パッシブを選択した場合は、サイト XNUMX からサイト XNUMX へのキャッシュになりますが、アクティブを選択した場合は、サイト XNUMX からサイト XNUMX とサイト XNUMX からサイト XNUMX へのデータの複製の間になります。 仕上げを選択しましょう。

ブリッジ統計の監視

したがって、ブリッジカウンターを確認することもできます。 たとえば、ここに来て、ここから橋の統計を開くと、いつでも橋のカウンターを確認できます。 まずは実際に始めてみます。 何らかの理由で、システムの応答があまりよくありません。そのため、統計ウィンドウを開かせてください。 それで、ここが私たちの橋です。 負荷がまったくないため、まだ何もレプリケートされていません。

統計

そこで、ストレス テスト ツール siteonecache を実行して、負荷をシミュレートします。

サイトワンキャッシュ

利用可能なカウンターがあるので、クライアントを接続してシミュレーションを開始します。 これは SiteOneCache に対してのみ実行しましたが、接続するとすぐに実行されます。 それでは、ご容赦ください。 それでは、実際にモニターを開いて、実際にキャッシュに接続されているかどうかを確認してみましょう。 それはそうですね。 したがって、ブリッジには何らかのアクティビティがあるため、ブリッジが現在リクエストを受け付けていることを示唆しています。 今日は環境が少し緩いです。 申し訳ありませんが、様子を見てみましょう。 さて、ブリッジがアクティビティを示しているので。 ブリッジ キャッシュ サイズは増加しており、XNUMX 秒あたりに受信される操作がアクティビティを示しています。 つまり、これは本質的に、サイト間でデータをレプリケートしていることを意味します。 さあ、どうぞ。 ここに SiteOneCache があります。

サイトワンキャッシュ2

を開いたら、実際にデモ環境にログインして、そこからカウンタの正しいビューを確認します。 これは、実際にロードするのに非常に長い時間がかかり、カウンターアクティビティも確認できないため、権限関連の問題を確認するのにも役立つはずです。 よし。 それでは、ここでこの Web マネージャーを起動しましょう。 さあ、どうぞ。 そのため、以前はローカル画面にカウンターが表示されていませんでしたが、そのサーバーから SiteTwoCache にログインすると、Web マネージャーはすべてのカウンターを完全に表示できるようになりました。 したがって、アクティブにレプリケートされている数がカウントされます。 XNUMX つのキャッシュ内でストレス ツールを実行したことはありませんが、ここでは積極的にデータを取得しています。 これで、それを停止した場合、または実行し続けた場合でも、SiteTwoCache に対してストレス ツールを実行できるようになり、SiteOneCache にもデータがレプリケートされます。 これでテストは完了です。 両方の環境でアクティビティを個別に確認できるように、この環境でもリモート接続を維持する必要があると思います。 したがって、ここからは siteonecache を、ここからは Bridge を、そして向こうからは sitetwocache を使用します。

次に、アプリケーション関連のユースケースをいくつか取り上げます。 それでは、何かご質問がございましたら、お知らせください。 これはかなり基本的な質問ですが、主にどのような環境がサポートされているかということです。 繰り返しになりますが、先ほどいくつか言及したことは知っていますが、それらをすべてリストアップすることもできると思いました。 先ほども言いましたが、唯一の前提条件は、 NCache .NET または .NET Core。 あなたが使用することができます NCache Windows および Linux 環境が利用可能な場合はどこでも。 オンプレミスの場合もあれば、クラウド環境の場合もあり、Azure、AWS、Google Cloud などの場合もあります。 ホスト環境である可能性もあります。 これは Docker コンテナを通じて Docker で利用でき、Docker イメージを使用してキャッシュとアプリケーションをホストできます。 Kubernetes もサポートされています。 OpenShift、Kubernetes Service、Azure Kubernetes Service、Elastic Kubernetes Service について言及しました。 したがって、Docker を使用できる場所であればどこでも使用できます。 NCache 要約すると、次のような単純な事実に集約されます。 .NET Core または .NET がインストールされていること。それが唯一の前提条件です。 NCache & NCache 基本的に、これらすべてのプラットフォーム、すべてのサーバー上で実行できます。

サンプルアプリケーションを実行する

では、実際に走ってみましょう。ここではこの橋を使用していますが、別の橋が利用可能です。 それでは、ここにある別のアプリケーションを実行してみましょう。 負荷分散された Web アプリケーションです。 XNUMX つのリクエストを XNUMX つのデータセンターにルーティングし、そのデータセンターがダウンした場合、後続のリクエストは他のデータセンターに送信されるように設計しました。 したがって、これにより、基本的に災害復旧の管理方法がわかるようになります。 NCache ブリッジをオンにすると、すべてのデータが利用できるようになります。

それで、まず、ここからこれを実行します。ここで、このウィンドウからこれを開いてみましょう。 それでは、オブジェクト キャッシュのサンプルを始めましょう。 そう、それでは、このロンドを実行させてくださいnCache サンプルを作成してから、利用可能な他のサンプルも開きます。 それでは、Visual Studio を始めてみましょう。 サンプルを実行します。 したがって、これらのサンプルが実行され次第、基本的にオブジェクト キャッシュを使用し、必要に応じてデータセンター間でリクエストをルーティングできることを示します。

つまり、ブリッジを介してあるデータセンターから追加され、他のデータセンターから取得されるデータ、またはその逆のデータが視覚的に表現されることになります。 わかりました、それで、これはロンドを使用していますnCache ここで設定しました。 本当に早く見せたら。 それで、私たちはロンドを持っていますnCache NewYorkCache があります。 したがって、XNUMX つのデータセンターを表す XNUMX つのキャッシュと、次のようなブリッジができます。 NCache 橋。 ロンドがあるよnCache CacheOne がアクティブ、NYCache が 10 番目として。 ということで、とりあえず橋を止めてみます。 これら 10 つのキャッシュを個別に示した後、いくつかのデータをシミュレートして、これがキャッシュ内でどのように機能するかを示します。 それで、それを実行し、ロードしたらすぐに、これは NYKCache を使用しているので、これもスピンアップさせてください。 ブリッジの構成方法はわかったので、任意のボックスで管理ツールを実行してこれら XNUMX つのキャッシュを接続し、そのブリッジを構成するという点では非常に簡単です。 それでは、ご容赦ください。 いくつかのインスタンスがスピンアップされます。 今日はとても遅いです、ごめんなさい。 したがって、構築されたイベントは完了したため、すぐにそれをシミュレートします。 そうですね、これが Main.aspx で、この中でいくつかのオブジェクトをキャッシュにロードしているだけです。 私がやっていることはそれだけです。 たとえば、Main.aspx 内で、実際にオブジェクトの一部をキャッシュに読み込んでいます。 そこで、ここでのアイデアは、ロンドン リージョンのサイトにアクセスし、次にニューヨーク リージョンにアクセスし、ロンドン リージョンから追加されたデータをニューヨークに、またはその逆に同期する方法を示します。視覚的な表現により、すべてがうまくいくでしょう。比較するとより明らかです。 したがって、私たちは両方の側を稼働させています。 XNUMX つをここで、もう XNUMX つをここで開きましょう。 ここで、許可される項目を XNUMX 個追加するとします。 XNUMX項目を追加しました。 同じキャッシュから取得すると、このデータは英国地域から追加されたことが示され、英国の顧客がここに表示されます。

ロンドン

同様に、米国のロンドンのポータルからデータを追加すると、10 個のアイテムが追加され、その 10 個のアイテムがすべて表示されます。しかし、ユーザーがバウンスし、両方の地域からのデータを同時に利用できるようにする必要がある場合はどうなるでしょうか? したがって、それはまだ不可能です。 ここにさらに 5 つの項目を追加させてください。つまり、これは数の点で異なります。 ということで、こちらに15品目、こちらに10品目ほどございます。 したがって、ワンクリックで、このブリッジをオンにし、右クリックして統計を開くと、ブリッジが最初に実行することは、キャッシュ内に既に存在するすべてのデータを実際に複製することです。

統計2

したがって、ブリッジを開始するとすぐに、キャッシュはすでに接続されています。 ブリッジを複製し、25 個のアイテムを複製しました。 つまり、それがまさに私たちが追加したものです。 だから、もし私がカウンターを開けたら、ロンドを開けさせてくださいnCache、NewYorkCache およびオープン統計も同様です。 何らかの理由で時間がかかりますが、最終的には開きます。 さて、ここに統計があります。

統計3

クライアントが接続されており、カウント値がここに表示されています。 つまり、約 25 個のアイテムが表示されており、それが NewYorkCache にも表示されています。 ここでアプリケーションに戻ります。同じアプリケーションを実行し続けますが、今回はここからデータをフェッチするだけで、キャッシュ内のすべての項目が表示されることを期待しています。 つまり、ブリッジによってデータが CacheOne から CacheTwo に、および CacheTwo から CacheOne に複製されたため、ロンドンと米国のアイテムを含む 25 個のアイテムすべてがここで取得されます。 したがって、ここにある 15 項目にさらに 10 項目が追加されて 25 項目になり、キャッシュ (USCache) からデータをフェッチすると、US リージョンのすべての項目も表示されます。 つまり、やはり双方向送信です。 XNUMXつ以上になる可能性があります。 アクティブ-パッシブになる可能性があります。 サンプル アプリケーションに示されているように、一方向送信またはアクティブ/アクティブ送信を行うことができます。

ここで、新しいアイテムが追加されると、たとえばさらに 20 個のアイテムが追加され、ここからフェッチすると 45 個のアイテムが得られ、これらのアイテムをここからフェッチすると、ここには 45 個のアイテムが表示されます。 つまり、瞬間的なものなのです。 ここに追加された項目はすべて、たとえば にデータを追加すると、カウントが 45 から 68 に増加しますが、ここからデータをフェッチすると、同じ項目がここから利用可能になります。 そこで、異なるサイト間でデータをレプリケートする速度がどれだけ速いかを見てみましょう。 つまり、これら XNUMX つのキャッシュは、現在も複数のサーバー上で実行されています。 これでオブジェクト キャッシュのデモは完了です。

データセンター間での ASP.NET セッションのレプリケーション

ASP.NET セッションを使用している場合にこれを処理する方法についても説明します。 マルチサイトでは、ASP.NET セッションを使用することもできます。 したがって、たとえば、これがロード バランサーを介している場合は、いくつかの項目を追加するだけで、それは別のアプリケーションになります。 サイト 0 Web サーバーとサイト XNUMX Web サーバーの XNUMX つの Web サーバーがあり、データセンター間で同じアプリケーションをホストしています。 ということで、項目をいくつか追加していきます。 それで、追加したらすぐに、実際にもう一度橋を停止させてください。 カートを見ると。 ということで、項目がXNUMXつ追加されました。 さらに項目を追加してみましょう。 そこで、いくつかのアイテムをご用意しました。 さて、IIS に行くと、ロンドンのサイトになります。 これも実際に始めてみましょう。 ここに戻ってきてください。ロンドンのサイトに優先的に掲載されることを心から願っています。 そこには何もアイテムがないので、最終的にどこに行くのか見てみましょう。その後、ブリッジを接続して、サイト XNUMX から追加したデータはすべてサイト XNUMX で利用可能になり、その逆も同様であることを示します。 通常、最初のリクエストは遅くなります。 アプリケーションを起動したところです。 したがって、ここに到達すると、返されるアイテムは XNUMX になります。 したがって、サイトを開始または停止するたびにユーザー セッションが一方のサイトからもう一方のサイトにバウンスしているにもかかわらず、これら XNUMX つのサイトは同期していません。

ここで、先ほどと同じように、同じ線上で橋をオンにします。 右。 それで、それは実行され、開始されます。 もう一度、統計を見てみます。 つまり、69 個の項目が存在します。これらは前回のテストからのものです。 しかし今、ここで自分のサイトに戻ってきたら。 右。 それでは、最初からやり直してみましょう。 いくつかの項目を追加しました。 それを続けましょう。 さて、偶然ですが、これが停電でダウンしたり、あなたがダウンさせたりした場合、私がロンドンのサイトをダウンさせたとしても、唯一のサイトは、ご存知のように、まだ稼働しているニューヨークのサイトです。カートの表示を押すだけで、同じデータ項目が米国のポータルから利用可能になり、英国のサイトからデータが追加されます。 したがって、データが XNUMX つのサイトから別のサイトにバウンスされても、ユーザーは引き続きデータを取得することができます。 さて、サイトがオンラインに戻ったとしても、再びキャッシュからすべてのセッション データをフェッチできるようになります。

マルチサイト ASP.NET セッション

同様に、マルチサイトの ASP.NET セッションもあります。 それは別の機能です。 したがって、オブジェクト キャッシュ シナリオにはブリッジをお勧めします。このシナリオでは、XNUMX つのキャッシュ間でバックグラウンドで大量のデータ送信が発生し、オブジェクト キャッシュとセッション キャッシュでそれが確認されています。

マルチサイト

ただし、セッション キャッシュについては、マルチサイト ASP.NET セッション キャッシュの使用例もあります。 じゃあ、橋を使わないと。 これら XNUMX つのサイトをリンクすることはまだ可能ですが、それは利用可能な別の機能を介して行うため、ブリッジを停止するだけです。 それが止んだらすぐにここに戻ってくるつもりです。 コンテンツをクリアして最初からやり直すことにします。実際、セッション キャッシュ用にキャッシュを同期するより良い方法です。 その理由は、セッションは非常にトランザクション性の高いデータであるためです。 したがって、ユーザーがあるサイトから別のサイトにバウンスしないにもかかわらず、セッション データがレプリケートされることは望ましくありません。 つまり、ユーザーがほとんど XNUMX つのサイトにいて、ASP.NET セッションを持つ人間のユーザーである場合です。 したがって、この場合、それは本質的に一時的なトランザクション データであり、他のサイトでは必要ありません。 これはそこに存在するユーザーにのみ基づいており、ユーザーをあるサイトから別のサイトに変更することになった場合でも、データのオンデマンド レプリケーションで管理できます。 すべてのセッション データを複製する必要はありません。 たとえば、あるサイトが他のサイトよりも多くの容量に達し、オーバーフローが発生した場合に、オーバーフロー ユーザーを別のサイトに移動させ、そのサイトですでにセッション オブジェクトが作成されている場合にオーバーフローが発生します。 したがって、すべてのセッションをそこで行う必要はありません。 必要なのは、その特定のユーザーのセッションだけです。 したがって、そのシナリオに対応するために、ブリッジをオンにすることはお勧めしません。

そのために、と呼ばれる別の機能があります NCache マルチサイトセッション。 したがって、マルチリージョン ASP.NET セッション ステート プロバイダーを使用すると、ブリッジを使用せずにこれらすべてを実際に実現できます。

ncache-マルチリージョン-aspnet-セッション-新規

つまり、サイト XNUMX のキャッシュにはセッションがあり、サイト XNUMX のキャッシュにはプライマリ キャッシュ アドレスがあり、次にリージョン全体のバックアップ キャッシュ アドレスがあり、同様にサイト XNUMX のキャッシュにはプライマリとバックアップの概念があります。 したがって、ユーザーがあるサイトから別のサイトにバウンスした場合、アプリケーション サーバーであるキャッシュ クライアントはオンデマンドで他のサイトに移動し、そこから利用できるセッション データを取得します。必要なのは、他のサイトのキャッシュへの情報だけです。たとえば、一次キャッシュと二次キャッシュ、ロンドン、ニューヨークがあり、複数のバックアップ キャッシュを持つことができます。 したがって、ロンドンのユーザーがニューヨークのサイトに戻った場合、ロンドに戻ります。nCache データをフェッチしてそこに保持し、再びキャッシュ アプリケーションを開始することを実証するために使用します。 たとえば、ここにデータを追加します。これも Londo を使用しています。nCache。 ここに項目を追加します。 キャッシュ内のコンテンツをクリアしたことを思い出してください。したがって、ここにはアイテムがありません。同様に、Londo を開いてみましょう。nCache 統計。 したがって、最初のリクエストが受信されるまで、ここにはアイテムがありません。追加するとします。 したがって、もちろん同じ名前のアイテムが XNUMX つあります。 したがって、ここで XNUMX つのセッションが作成されます。 ニューヨーク サイトではまだ複製されていませんが、マルチサイト セッション機能が有効になっています。 オンデマンドのセッション レプリケーションを実行したいので、これにはブリッジは必要ありません。 これらの構成を実行しました。ここでは、一次キャッシュと二次キャッシュがあり、次にセッション状態プロバイダーが接続されています。

つまり、セッション状態プロバイダーの設定に基づいているだけです。 NCache ブリッジを使用せずにマルチサイト セッションのユースケースを処理でき、オンデマンドなので、セッション データに関する限り、はるかに効率的です。 したがって、ここで私が行うことは、IIS にアクセスしてセッション要求を他のサイトに返送し、ロンドンのサイトを完全に停止することです。 もちろん、今これを取得する場合は、キャッシュを稼働し続けます。 まず、米国のサイトからデータを取得します。 そこから同じアイテムが入手可能になり、それが完了したらすぐにさらにアイテムを追加してロンドを持って行きますnCache オンラインでバックアップします。 つまり、これはオンデマンドのレプリケーションであり、私はそれを実証しようとしています。 それでは、様子を見てみましょう。 たとえば、いくつかの項目を追加してみましょう。 それで、このサイトをオンラインに戻しましょう。 ロンドンのサイトにくっついているので。 さて、米国のユーザーをロンドンのサイトに戻したので、どうなるかを見てみましょう。 したがって、同じアイテムがロンドンのサイトからも利用可能になり、データ要素が米国リージョンから追加されました。 ここにさらに項目を追加すると、それらの項目もここに追加できるようになります。 このサイトを停止してこの失敗をもう一度シミュレートし、反対側にもバウンスするかどうかを確認してみましょう。 以前は設定関連の問題があったと思いますが、現在はこのサイトが停止されています。 カートを表示させてください。 期待しています。 したがって、同じセッションが米国のサイトから利用できるようになりました。ここではこの機能用にブリッジが設定されていないことに注意してください。これは単なるマルチサイト セッションです。 橋が止まっています。 データはまだレプリケート中ですが、オンデマンドで行われます。 それで、実際にはこれで完了です。

オブジェクト キャッシュとトランザクション性の低いデータ、参照データ、静的データの場合は、ブリッジを有効にしてデータセンター間のアクティブ レプリケーションを利用することをお勧めしますが、セッションは読み取りリクエストと書き込みリクエストを組み合わせたトランザクション ユース ケースです。 そのため、あるデータセンターから別のデータセンターにデータを更新している間は非常に重くなります。データはプライマリ データセンターですでに変更されており、セッション ユーザーはあるデータセンターから別のデータセンターにバウンスしません。 どの時点でも XNUMX つのサイトにのみ存在します。 したがって、アクティブなデータレプリケーションは必要ありません。 オンデマンドでレプリケーションを行うことができます。 リージョン XNUMX からリージョン XNUMX にバウンスする場合は、そこからセッション データを取得できる必要があります。また、リージョン XNUMX にバウンスする場合は、再び利用可能になったセッション データを取得できるはずです。そのためには、次を使用することをお勧めします。ブリッジを使用しないマルチサイト セッション機能。

高度な機能がいくつかありますので、すぐに説明します。

ブリッジの特徴

ブリッジは可用性が高くなります。 フェイルオーバー サポートが組み込まれているため、ブリッジ サーバーがダウンしてもダウンタイムは発生しません。 ブリッジキューは非常に最適化されています。 これは速い。 さらに、いくつかのキュー最適化機能を有効にして、さらに最適化することができます。

紛争解決

競合解決が組み込まれています。 最終更新が優先されますが、独自の競合解決を実装したい場合は、ハンドラーを使用して登録できます。 NCache。 したがって、XNUMX つのキーに競合があり、XNUMX つの更新が同時に発生する場合に、このインターフェイスを呼び出すことができます。 それで、 NCache これにより、制御が可能になり、そのアイテムのバージョンを確認して、どちらが勝つかを決定することができます。

実行時の災害処理。 Zack は最初、パッシブ サイトをアクティブにする方法を尋ねました。トラフィックをパッシブにルーティングするだけで十分です。

災害対応

アクティブ サイトがダウンしてもダウンタイムは発生せず、アクティブが復旧すると自動再同期が行われます。 アクティブ/アクティブでは、トラフィックは両方のサイトにルーティングされます。 サイトがダウンしても影響はありません。トラフィックをアクティブに戻すだけで済みます。アクティブなサイトがオンラインに戻ると、再同期が自動的に行われます。 遅延はなく、手動による介入も必要ありません。 XNUMX つまたは XNUMX つ以上のアクティブ/アクティブのケースでは、ブリッジ以外のアクティブ サイトがダウンしても、他のサイトへのトラフィックを使用するだけで済み、ダウンタイムやデータ損失は発生しません。 たとえば、ここにブリッジ サイトが XNUMX つある場合、ブリッジ アクティブ サイトがダウンした場合に備えてください。

3+アクティブ-アクティブ

これがダウンした場合には、バックアップ ブリッジ サイトというオプションもあります。 したがって、そのブリッジ サイトを有効にし、そのためにレプリケーションを取得するバックアップ ブリッジを指定できます。 したがって、ブリッジ サイト全体がダウンするとレプリケーションは停止しますが、バックアップ ブリッジ サイトのオプションもあります。

そこで、これらの側面についてすぐに説明したいと思います。 今のところはそれで十分だと思います。 ここまでで何か質問はありますか? ザック、ここから拾えます。 確かに、わかっています、ここで最後の XNUMX ~ XNUMX 分に迫っているので、今改訂された内容に関して寄せられた質問を XNUMX つだけ投げておきます。 それは紛争解決に関係していましたが、問題は、紛争解決を実施する必要がある場合の紛争解決の例は何なのかということだと思います。 わかった。 通常、競合解決のほとんどはデフォルトで処理されるため、何も実装する必要はありません。 必要なのは、時間ベースの競合解決だけです。 アクティブ/アクティブ サイトを実行していて、あるデータセンターから別のデータセンターへのデータが必要であると想定すると、あるデータセンターから別のデータセンターへの更新が必要になります。 したがって、最後の更新が優先されます。 ただし、データがより具体的で、データの値が必要な場合は、ブリッジにどのオブジェクトを保持する必要があるかが決まります。 たとえば、オブジェクト定義内には特定のバージョン、特定の情報、または特定のシーケンス番号が存在します。たとえば、オブジェクトのバージョン属性があります。 したがって、競合がある場合、そのオブジェクトが見逃されることは望ましくありません。 したがって、コードを通じてそのオブジェクトをチェックし、バージョンを確認し、どのバージョンを保持する必要があるかを確認します。したがって、時間と比較した最後のバージョンまたは最新のバージョンに基づいて、バージョン ベースになる可能性があります。 オブジェクトの値に基づく場合もあります。 たとえば、データベース レコードがあり、そのデータベースを表す、変更時刻を持つオブジェクトがあるとします。 したがって、これはキャッシュ上の更新ではなく、データベース上の更新ですが、その更新時間はたまたまそのオブジェクトの一部であり、そのオブジェクトが最初に追加され、その後別のオブジェクトが上書きされた場合、その最後の更新は望ましくありません。データベースは失われますよね? したがって、オブジェクト内に何かがあり、属性値に基づいて決定を下す必要がある場合は、そのための競合解決を自分で実装する必要があります。 ただし、前述したように、競合解決のほとんどは、タイムベースのデフォルト オプションを通じてデフォルトで処理されます。 したがって、最後に来た更新がアイテムの最新の更新として適用されます。これは、ブリッジ上のキューに XNUMX つの更新が同時に追加されている場合にのみ、この競合解決ロジックが機能することに注意してください。 そうです、ブリッジは XNUMX つの更新を同時に取得します。 それで、どれを選ぶべきですか? サイト XNUMX が項目を追加または更新し、サイト XNUMX も同じ項目を追加または更新しました。 したがって、ブリッジはどちらをキャッシュに保持するかキューに保持するかを決定する必要があり、それがサイト XNUMX とサイト XNUMX にも複製されることになります。 なぜなら、一方が他方に勝たなければならないからです。 したがって、時間ベースの競合解決がデフォルトで実装されており、これによりほとんどのケースを解決できます。

あとはあなたにお任せしますが、他に何か検討することはありますか? 私たちは大丈夫だと思います。 内容に関して言えば。 わかった。 デモンストレーションが完了しました。 さて、私たちはここで最後の瞬間に走っています、それで、来てくれた皆さんに感謝します。 この特定のウェビナーに関してご質問がございましたら、お気軽にメールでお問い合わせください。 support@alachisoft.com ぜひ、当社の Web サイトにアクセスして、2 か月の無料トライアルをダウンロードしてください。 NCache Enterprise そしてそれをあなたの環境で使用してください。 オンボーディングに関するサポートが必要な場合は、以下にお問い合わせください。 support@alachisoft.com 購入するかどうかについてさらに質問がある場合は、 NCache またはライセンス情報を取得するには、お気軽にお問い合わせください。 sales@alachisoft.com.

次はどうする?

 

お問い合わせ(英語)

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