使い方 NCache Microsoft Azure Service Fabricで

こんにちは、別のプレゼンテーションへようこそ NCache。 今日は、その方法についてお話します。 展開します NCache Service Fabric 環境への移行。 カバーすべきことがたくさんあるので、始めましょう。

NCache 展開

まずは、私たちが達成しようとしていることの概要から始めましょう。 ここでは、Azure にデプロイされた典型的な Service Fabric アプリケーションの鳥瞰図を示します。

ncache-展開-Azure

Azure ロード バランサーを備えた Service Fabric クラスターがあります。 Service Fabric アプリケーション内には、さまざまな言語で記述できるサービスが多数あります。 これらのサービスは通常、コンテナ化されたサービスとしてデプロイされます。 現在、エンタープライズ アプリケーションでは、高い読み取りパフォーマンスを実現するために分散キャッシュが重要です。 NCache に入っています。

NCache Service Fabric アプリケーション内にコンテナー化されたサービスとしてデプロイできます。 NCache サーバーは仮想マシン スケール セットの複数のノード上のコンテナー内で実行されており、相互に通信してクラスター化されたキャッシュを形成できます。 間のギャップを埋める NCache クライアントとサーバーのリアルタイムの IP アドレス情報を取得するために使用されるキャッシュ検出サービスがあります。 NCache サーバーに送信し、その情報を NCache クライアント。 この情報により、 NCache その後、クライアントはキャッシュ ハンドルを作成し、それを使用してキャッシュ管理と CRUD 操作の実行を開始できます。 NCache クラスター化されたキャッシュ.

したがって、以下は、今日半分を説明するデモの主なパラメータです。

デモ-環境-詳細

  NCache Windows コンテナ内で実行されているサーバーは、「」という名前の Docker イメージを使用します。alachisoft/ncache:最新'。 これには、 NCache Enterpriseと .NET framework インストール。 2から始めます NCache これらのサーバーは、レプリカ トポロジのパーティションを持つクラスター化キャッシュを形成するためにまとめられます。 二つ NCache 私たちが持っているクライアントアプリケーションは次のように書かれています .NET Core および Java に対して CRUD 操作が実行されます。 NCache サーバー。

サービスファブリッククラスターの作成

したがって、始めるために最初に行うことは、Azure 上に Service Fabric インフラストラクチャを作成することです。 すでに Azure ポータルを開いているブラウザ ウィンドウに移動できます。

アズールポータル

という名前のリソース グループを作成しました。NCacheServiceFabric 」とこれには、現時点では 2019 つの「Key vault」リソースのみが含まれています。 この Key Vault リソースには、Service Fabric クラスターで使用される証明書が含まれています。 Visual Studio XNUMX に来て、ARM テンプレートを開いて、Service Fabric オープン構成モードを許可する設定を導入しました。

ビジュアルスタジオ

Service Fabric オープン構成モードと、インフラストラクチャをデプロイした後にそれを使用する理由について詳しく説明します。 したがって、デプロイを開始するには、「ソリューション エクスプローラー」に移動し、Azure リソース グループ プロジェクトを右クリックしてデプロイし、リソース グループをリストします。

ビジュアルスタジオ2

これにより、展開ウィンドウが開きます。 「デプロイ」ボタンをクリックすると、デプロイが開始されます。

デプロイボタン

時間がかかりますので、ここで動画を一時停止させていただきます。 テンプレートは正常にデプロイされました。これを確認するには、Azure portal に戻ってください。 ページを更新すると、変更が表示されます。ここでは変更を確認します。 これで、Service Fabric クラスターと関連するすべての依存リソースが正常に作成されました。 まず最初に、前に触れたオープン コンフィギュレーション モードについて説明します。

この記事では基本的に、オープン構成モードとそれが使用される理由について説明します。 私たちの目的では、オープン構成モードでは次のことが可能になります。 NCache コンテナー内で実行されているサーバーは実際に複数のホスト間で通信できるようになり、集合してクラスター化されたキャッシュを形成します。これがどのように行われるかを確認するには、Azure portal にアクセスします。最初に確認するのは、仮想サーバーです。通信網。

仮想ネットワーク

さて、仮想マシン スケール セットから複数のノードができましたが、よく見ると、各ノードに複数の IP アドレスが割り当てられています。 最初の IP アドレスは、ホストのプライマリ アドレスです。 ただし、ノードに接続されている他の IP アドレスはセカンダリ IP アドレス プールを形成し、Service Fabric のオープン構成モードでは、これらの IP アドレスがコンテナーに割り当てられます。 NCache サーバーが実行されます。 このセカンダリ プールから割り当てられた IP アドレスを使用すると、複数のホストのコンテナーがシームレスに相互通信して、Service Fabric 上にキャッシュ クラスターを作成できます。

リソースでもう 10 つ確認したいのはロード バランサーです。「フロントエンド IP 構成」に到達すると、実際に関心のあるルールは「ルール 8251」で、これはポート XNUMX に関係します。によって使用されます NCache Webマネージャこれについては、このプレゼンテーションで後ほど説明します。 しかし、注意すべき重要なことは、 NCache Web マネージャ、ここで示されている「セッション永続性」フィールドでわかるように、「クライアント IP」の値を持つスティッキー永続性を使用します。

NC-Webマネージャー

これにより、複数のインスタンスがある場合、 NCache Web Manager を実行すると、ブラウザとエンド サービスの間で一貫したユーザー エクスペリエンスを実現できます。 インフラストラクチャを確認し、正常にデプロイしたので、Service Fabric アプリケーションのデプロイに進みます。そのために、Visual Studio に戻り、アプリケーションのサービス。 私たちが持っているのは、 NCache サービス、 NCache Web マネージャー サービス、ディスカバリー サービス、およびクライアント アプリケーションを収容するクライアント コンテナ サービス。 アプリケーションをデプロイした後、これらの各サービスの詳細を説明します。 これを行うには、ソリューション エクスプローラーに戻り、Service Fabric アプリケーションのプロジェクトと名前を右クリックして、[発行] に進みます。

ソリューションエクスプローラー

これにより、デプロイ ウィンドウが開きます。ご覧のとおり、Service Fabric クラスター接続エンドポイントがすでに選択されています。 この時点で行う必要があるのは、「公開」をクリックすることだけです。これでプロセスが開始されます。

導入ウィンドウ

しばらく時間がかかりますので、ここでビデオを一時停止します。 アプリケーションは正常にデプロイされ、[Service Fabric Explorer] ウィンドウで準備が整いました。 ご覧のとおり、クラスター DNS はここに指定されています。

サービス ファブリック エクスプローラー

そして、「ダッシュボード」を見てみると、1 つのノードが稼働しており、4 つのアプリケーションと 4 つのサービスが稼働しています。 XNUMX つのサービスが左側のペインに表示されます。 まず見ていきたいサービスは、 NCache サービス。 これは、 NCache コンテナ内で実行され、クラスター化されたキャッシュを形成するサーバー。 それから私は NCache Web Manager サービス。これは、キャッシュ クラスターの作成と監視のための使いやすい GUI を表します。 それから私は NCache ディスカバリ サービス。IP アドレスの取得を担当します。 NCache サーバーを構築し、それらをクライアント アプリケーションに提供します。 クライアント アプリケーションについて言えば、クライアント コンテナ サービスがあります。これは、XNUMX つの異なるアプリケーションを収容するコンテナを表します。XNUMX つは次のように記述されています。 .NET Core もう XNUMX つは Java です。 ここからは、各サービスの詳細を順番に説明していきます。

NCache クラスターサービス

まず最初に見ていきたいのは、 NCache Cluster Service については、Visual Studio に戻るつもりです。 これは、 NCache クラスター サービスは、ご覧のとおり、イメージを使用するコンテナー サービスです。alachisoft/ncache'。

ビジュアルスタジオ3

ネーミング サービスに登録したエンドポイントがいくつかあります。これらは次のとおりです。 「キャッシュ管理」エンドポイントはポート 8250 を公開しており、キャッシュ サーバーはこのエンドポイントで接続リクエストを待機します。 「キャッシュ クライアント」エンドポイントがあり、ポート 9800 が公開されています。 CRUD操作 はこのポートを通じて実行されます。 これらに加えて、「ブリッジ管理」エンドポイントと「ブリッジクライアント」エンドポイントもあります。 この現在のデモンストレーションでは、ここに示されている最初の XNUMX つのエンドポイントのみに焦点を当てます。

ビジュアルスタジオ4

NCache 管理サービス

XNUMX 番目に注目するサービスは、 NCache 管理サービス、Web マネージャー GUI を表します。 Visual Studio に戻って、ServiceManifest にアクセスすると、 NCache Web Manager Service は、Web Manager Service と同じイメージを使用するコンテナ サービスでもあることがわかります。 NCache サービスであり、ネーミング サービスに登録するエンドポイントは「web-management」であり、ポート 8251 を公開します。

ビジュアルスタジオ5

NCache ディスカバリーサービス

XNUMX番目のサービスはもちろん、 NCache ディスカバリーサービス そのための ServiceManifest がここに示されています。

nc ディスカバリ タイプ

  NCache Discovery Service はステートレスで信頼性の高い ASP です.NET Core ウェブ API。 ネーミングサービスに問い合わせて、登録されたエンドポイントを取得します。 NCache ここで与えられるサービス。 ディスカバリ サービスは、ネーミング サービスから受け取ったエンドポイントを使用して、その情報を NCache クライアント。

クライアント アプリケーション サービス

アプリケーションに含まれる XNUMX 番目のサービスは、 クライアントアプリサービス そのためにも、これらの ServiceManifest を開き、クライアント アプリケーションを用意します。 .NET Core と Java は同じコンテナ内に格納されます。 そのイメージは「ncache/apps:sfclient」。

クライアント

ここで注意すべき重要なことは、 NCache サービスとクライアント サービスでは、「open config」を使用します。 の NCache このサービスにはオープン構成モードがあり、異なるホスト上で実行されているコンテナが相互に通信できるようにして、クライアント コンテナ上にキャッシュ クラスタを形成することができます。 NCache Web Manager GUI がクライアント側のカウンターを取得し、GUI からクライアントの動作を監視できるようにするために使用されるクライアントとインストール。

キャッシュクラスターの作成

次に行うべきことは、キャッシュ クラスターの実際の作成です。そのために、Service Fabric Explorer ウィンドウに戻りましょう。 最初に行うことは、Service Discovery が機能していることを確認することです。 そのために、クラスター化された DNS と、Discovery Service がリッスンしているポート (55100) で構成される URI を入力します。

グーグルリンク

Enter をクリックすると、によって登録された各エンドポイントの IP アドレスと関連ポートが表示されます。 NCache サービスが正常に提示されました。 よく見ると、IP アドレスは、仮想ネットワークによってセカンダリ IP プールの一部としてこれらの Service Fabric ノードに与えられたものと同じです。

IPアドレス

サービス検出を実行したので、次のページに進みましょう。 NCache ウェブマネージャー。 もう一度、クラスタ化された DNS を入力し、その後にそれがリッスンしているポート (8251) を入力します。これにより、Web マネージャ GUI のメイン ウィンドウが表示されます。

Web マネージャー GUI

ここで、クラスター化キャッシュを作成するのがいかに簡単かを説明します。そのために必要なのは、ここに表示されている [新規] ボタンをクリックすることだけです。

新しいボタン

まず、キャッシュの名前を指定します。

キャッシュ名

それ以外はすべてデフォルトのままにします。 レプリカ トポロジのパーティションを非同期モードで使用します。

非同期

この時点で、クラスター化キャッシュを構成するこれらのサーバーの IP アドレスを入力します。 したがって、まず最初の IP と 11 番目の IP に XNUMX を与えます。これら XNUMX つを追加すると、次の段階に進むことができます。

IP アドレス 2

他はすべてデフォルトのままにして、最後に「完了」をクリックするだけです。

仕上げ

メイン ウィンドウに表示されるように、キャッシュが作成されます。

キャッシュ作成

キャッシュが作成されたので、開始します。そのためには、キャッシュ名の横にあるチェック ボックスをクリックして、[開始] ボタンを押します。

start

キャッシュが開始されたので、今すぐ確認できることがいくつかあります。 まず最初にできることは、チェックボックスを押した状態で「監視」ボタンをクリックして「監視」ツールを確認することです。

モニター

これにより、別のウィンドウが開き、監視ツールを構成するダッシュボードが表示されます。 ここで最初に確認できるのは、「クラスターの健全性」です。 緑色でわかるように、2 台のサーバーがあり、アクティブ パーティションとレプリカ パーティションが完全に接続されていることがわかります。

クラスターキャッシュ

ここでも XNUMX つの異なるパーティションがグラフィック形式で示されています。

サーバー-ダッシュボード

現在確認できるカウンターは、「リクエスト/秒」、「追加」、「フェッチ」、「更新」、「削除」など、いくつかあります。「カウント」は、他のすべてのカウンターと同様に 0 です。 CRUD 操作カウンター。まだ接続されているクライアント プロセスがなく、接続されたクライアント プロセスは「クライアント プロセス」ダッシュボードから確認できるため、「クライアント IP」、「プロセス ID」、および接続されているサーバーが表示されます。 。 これが「サーバーダッシュボード」です。 デフォルトで使用できるもう XNUMX つのダッシュボードは「クライアント ダッシュボード」です。ここでは、クライアントからのさまざまなカウンターを確認し、クライアントの動作を診断および監視できます。

クライアント-ダッシュボード

デフォルトで提供される XNUMX 番目のダッシュボードは、サーバー側とクライアント側のパフォーマンス カウンターの両方の全体像を表示する「レポート ダッシュボード」です。

レポート-ダッシュボード

クライアントアプリケーションを実行する

実際の情報を確認するために、クライアント アプリケーションを起動します。 それでは、クライアント アプリを実行してみましょう。 モニター ウィンドウに戻ると、ここではクライアント コンテナー内で PowerShell が開いており、すでに「nettester」フォルダー内にいます。このフォルダーには、 .NET Core アプリ。 ここに示されているように、パラメータとしてキャッシュの名前 (「democache」) とキャッシュ検出サービスの URI を受け取るバッチ コマンドを実行します。

CMD

これは、クラスター化された DNS とキャッシュ検出サービスのポートで構成されます。 ここで、「Enter」を押すと、キャッシュがクライアント側から初期化され、監視ウィンドウで何らかのアクティビティが表示されます。 さて、これ以上の苦労はせずに、クライアントが IP アドレスの取得に成功し、キャッシュ ハンドルが初期化されたことがわかります。これはクラスター ヘルス モニターで確認できます。これは、クライアントの数が XNUMX つ増加していることを示しています。

監視ウィンドウ

また、CRUD 操作に関連するさまざまなダッシュボード上のアクティビティも確認され始めています。 「追加」、「取得」、「更新」、「削除」など。 全体的なアクティビティも「リクエスト/秒」で表示されます。 クライアントがアイテムをキャッシュに入れ始めたため、「カウント」が増加し始めていることがわかります。また、「クライアント プロセス」には、クライアント プロセスに関連する新しいエントリが表示されます。 「クライアント IP」と「プロセス ID」が表示され、クライアントが両方のサーバーに接続されていることがわかります。 これは、クラスター対応として知られるレプリカ トポロジのパーティションおよびパーティションに固有の機能です。 「クライアント ダッシュボード」に移動すると、ここでもアクティビティが確認され、Web マネージャーがクライアント側からカウンターを取得できていることがわかります。

クライアントダッシュボード2

「レポート ダッシュボード」では全体的なビューが表示されます。 パフォーマンス カウンターのノードごとのインスタンスがサーバー上に表示されていることがわかります。また、クライアント側からの「クライアント レポート」側のアクティビティもわかります。

レポート-ダッシュボード2

これで、正常に接続できるようになりました。 .NET Core クライアント、今度は Java クライアントからも接続を試みます。 したがって、と同じように、 .NET Core アプリケーション。ここには Java アプリケーションを実行するバッチ ファイルがあります。 繰り返しますが、同じパラメータ、つまりキャッシュの名前とキャッシュ検出サービスの URI を受け取ります。

cmd2

ここでプログラムを実行し、監視ウィンドウでどのような変化があるかを見てみましょう。 そこで、「Enter」を押すとアプリケーションが開始され、正常に初期化され、各サーバーに 2 つのクライアントが接続されていることがわかります。

監視ウィンドウ2

ここに来て、アクティビティが何を示しているかを見てみましょう。 まずは「カウント」を見てみましょう。 クライアントの数が増加し、両方がデータをキャッシュにダンプしているため、「カウント」が増加し始めています。 リクエストも同様に増加し始めており、その割合も増加しています。ここの「クライアント プロセス」では、2 つのクライアントが表示されていることがわかります。 これらは同じコンテナから実行されているため、クライアント IP は同じですが、プロセス ID は異なり、プロセス ID は異なります。 .NET Core もう XNUMX つは Java からのものです。 メインウィンドウに別のウィンドウが表示される場合、表示したいのは「統計」ウィンドウです。 何が起こっているのかを別の視点で見ることができるのはどれでしょうか? これを行うには、省略記号ボタンをクリックして、[統計の表示] タブに移動します。

統計

このウィンドウにはノードごとのパフォーマンス カウンターも表示されます。 IP アドレスがここに表示されます。 そのため、すべて同じ Service Fabric クラスター内でクライアントをサーバーに接続することに成功しました。

統計2

スケーリング NCache クラスタ

デモの最後の部分では、クラスター化キャッシュへのノードのランタイム追加をデモンストレーションし、追加がクライアント アプリケーションのパフォーマンスに影響を与えないことを確認します。 そのために、「Web マネージャー」のメイン ウィンドウに戻りましょう。 XNUMX 番目のノードを追加するには、ここに示すように [詳細を表示] リンクをクリックするだけです。

クラスタ キャッシュ 2

これにより、別のウィンドウが表示されます。[サーバー ノード] セクションが表示されたら、XNUMX 番目のノードを追加するには、ここに表示されている [追加] ボタンをクリックするだけです。

追加ボタン

XNUMX 番目のサーバーのアドレスを指定します。 私はここでそれをし、私はそれを与えます 17 ノードが正常に追加されました。

ノード追加

これが追加されたので、それを開始する必要があります。そのためには、IP アドレスの横にあるチェックボックスをクリックして「開始」をクリックするだけで、正常に追加されました。

start2

メイン ウィンドウに戻り、このボタンを更新すると、サーバーが 3 つあることがわかります。次に、監視ウィンドウで何が起こるかを見てみましょう。 前と同じように、ここでチェック ボックスをオンにして [監視] タブをクリックすると、[クラスターの状態] ダッシュボードに 3 台のサーバーが表示され、完全に接続されていることがわかります。

サーバーダッシュボード2

「クライアント プロセス」には、3 つのクライアントからのリクエストを提供する 2 つの異なるサーバーがあります。

クライアントプロセス

「カウント」セクションを見ると、「カウント」は 3 つのノード間で負荷分散されています。

カウントセクション

これは、レプリカ クラスターのパーティションで採用されている負荷分散戦略が有効であることを示しています。

これでプレゼンテーションは終わりです。 導入方法を検討しました NCache Service Fabric アプリケーション内のコンテナー化されたサービスとして。 ご質問がございましたら NCache または、先ほどご覧になったプレゼンテーションについては、お気軽に下記までご連絡ください。 support@alachisoft.com。 ありがとうございます。

お問い合わせ(英語)

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