NCache デモ (.NET版)

今日は、.NET Edition の使用を開始する方法について説明します。 NCache。 別途動画あります Java Edition の使用を開始する NCache 興味があればぜひ見てください。 それでは、始めましょう。 使い始めるには XNUMX つのステップがあります NCache.

  1. ソフトウェア設定: ここでインストールします NCache サーバーとクライアント。
  2. 創造する NCache クラスタ: NCache TCPベースのクラスタを作成します NCache サーバー。
  3. 設定する NCache 取引実績: これらは、通信するように構成されたアプリケーションサーバーまたはWebサーバーです NCache.
  4. テストする NCache クラスタ: すべてが機能していること、クラスターが機能していること、およびクライアントがクラスターと通信できることを確認します。
  5.   NCache アプリケーションで

これは .NET Edition のビデオなので、.NET アプリについて説明します。 Java、Node.js、および Python アプリケーションを開発できることに注意してください。 NCache 同様に。

 

1. ソフトウェアのセットアップ

さて、最初のステップはソフトウェアのセットアップです。 NCache サーバー コンポーネントとクライアント コンポーネントがあります。 NCache さまざまな展開オプションを提供します。

展開オプション

NCache サーバー

  1. オンプレミス
    • ダウンロード NCache ソフトウェア
    • Docker「プル」(NCache ソフトウェア)
  2. クラウド
    • NCache Cloud (SaaS)(アズール/AWS)
    • NCache ソフトウェア(BYOL)
    • (Azure / AWS / Google / すべてのクラウド)
  3. ドッカー / Kubernetes
    • (オンプレミス、クラウド)
    • Azure AKS、AWS EKS、Google GKE、Red Hat OpenShift

NCache 取引実績

  1. .NET
    • NuGet、.NET 4.0 以上
  2. Java
    • Maven、Java 11以上
  3. Node.js
    • npm
  4. Python
    • PyPi

オンプレミス

なので、導入を計画しているなら NCache オンプレミスの場合、自社のデータセンターで当社のウェブサイトにアクセスしてダウンロードできます。 NCache ソフトウェアです。当社のウェブサイトにアクセスして ダウンロードのページ.NET エディションをダウンロードしてください。 NCache Enterprise は Windows 用、.NET 6 for Windows、または .NET 6 for Linux のいずれかです。Windows は 。MSI Windowsインストーラー。Linuxの場合は .tar.gzまたは、既存の.NET 4.8環境をお持ちの場合は、.NET 4.8 Windowsインストーラーをダウンロードすることもできます。 NCache.

そして、あなたはまた、 NCache ここからクライアントへ。 NCache クライアント部分については、このページのNuGetタブに移動すると、より詳しい情報が表示されます。基本的な Alachisoft.NCache.SDK 誰もが取得する必要があるもの、そして他にもたくさんのものがあります NuGetパッケージ それ NCache あなたに提供します。 nuget.org とタイプ NCache これらすべてのリストも表示されます。 NCache ソフトウェアが最初のものですが、Dockerを好む場合は、 ドッカープル。だから、 ドッカー / Kubernetes タブをクリックすると、 docker pull alachisoft/ncache:latest .NETエディションの NCache この呼び出しを行っているオペレーティング システムに応じて、Windows または Linux のいずれかになります。

クラウド

2番目は、使用しようとしている場合 NCache クラウドでは2つの方法があります。1つは NCache Cloud Azure および AWS マーケットプレイスで利用可能な SaaS 提供サービスです。お見せしましょう。Azure Marketplace にアクセスすると、 NCache エンタープライズクラウド 利用可能なもの。同様に、同じ条件で、AWS Marketplace にアクセスすると、 NCache エンタープライズクラウドSaaSも提供されています。つまり、これらを購入する際にAzureまたはAWSに料金を支払うのではなく、実際に購入することを選択できます。 Alachisoftしかし、SaaSオプションを選択する場合でも、まずは NCache ソフトウェアを導入し、オンプレミス環境またはクラウドで評価や概念実証を行い、その後SaaSを使用するか購入するかを決定します。 NCache 弊社のソフトウェアをご購入いただき、BYOL方式でクラウドにデプロイすることも可能です。BYOL方式でデプロイすれば、Azure、AWS、Googleを含むすべてのクラウドでご利用いただけます。ただし、SaaSをご利用の場合は、現時点ではAzureとAWSのみでご利用いただけます。将来的には、他のクラウドマーケットプレイスも展開していく予定です。

ドッカー / Kubernetes

Docker オプションについてはすでに説明しました。 NCache Kubernetesもサポートしています。 NCache Azure AKS、AWS EKS、Google GKE、Red Hat OpenShift Kubernetes 環境など、どこにあってもご利用いただけます。

NCache クライアント

すでにお見せした NuGetパッケージ .NETクライアントの場合も同様です。Javaの場合も同様です。 達人、Node.js用 npmPythonの場合は PyPi あなたが使用することができます。

システム要件

次に知っておく必要があるのは、 NCache サーバーとクライアント。 NCache サーバーでは、4種類のサーバープロファイルからお選びいただけます。SO-8、SO-16、SO-32、SO-64、SO-128、SO-16です。これらはRAM容量を表しますが、それぞれに対応するvCPUも存在します。例えば、本番環境では、16GBのRAMと8つのvCPUを搭載したSO-16よりも小さい、あるいは性能の低い構成はお勧めしません。ただし、非本番環境、品質保証、テスト環境では、必要に応じてより小さな環境やより小さな筐体でも構いません。もちろん、トランザクション負荷が高い場合は、SO-XNUMXよりもさらに大きな筐体をお選びいただく必要があります。このように、これらのオプションはすべて利用可能です。当社のウェブサイトにアクセスし、 価格設定ページ これらのオプションはすべてここで説明されています NCache 企業向けおよび専門職向け。

NCache サーバー

  1. Hardware
    • SO-4 (4GB、2 vCPU)
    • SO-8 (8GB、4 vCPU)
    • SO-16 (16GB、8 vCPU)
    • SO-32 (32GB、12 vCPU)
    • SO-64 (64GB、16 vCPU)
    • SO-128 (128+GB、32+vCPU)
  2. Windows
    • Windows Server 2022、2019、2016
    • .NET 6
  3. Linux
    • Ubuntu、Debian、RHEL
    • .NET 6

NCache 取引実績

  1. Hardware
    • CPU (8 ~ 40 コア)、RAM (16 ~ 128 GB)
    • ネットワークカード(1~10ギガビット)
  2. Windows
    • Windows Server 2022、2019、2016
    • .NET 6 または .NET 4.0 以上
    • 任意: ジャワ 11+
  3. Linux
    • Ubuntu、Debian、RHEL
    • .NET 6以降
    • 任意: ジャワ 11+

ハードウェアの次はオペレーティングシステムです。.NET開発者にとってWindowsは推奨プラットフォームですが、 NCache WindowsでもLinuxでもご利用いただけます。Windowsでは、Windows Serverの最新バージョンをすべて公式にサポートしています。例えば、本日から展開可能です。 NCache Windows Server 2022、2019、2016で展開できます。Linuxでは NCache Ubuntu、Debian、Red Hat Enterprise Linux で動作します。ただし、これらのプラットフォームでは、.NET 6 がインストールされている必要があります。.NET XNUMX は .NET Edition であるため、特にリードスルー、ライトスルー、その他のサーバーサイドコードを使用する場合は、サーバーサイドの .NET コードを実行できるようにする必要があります。

クライアント側のハードウェアはサーバー側のハードウェアと非常によく似ています。 NCache クライアントは実際にはアプリケーションサーバーとWebサーバーです。つまり、これらもサーバープラットフォームです。そのため、同様のプロファイルのハードウェアを選択してください。ここでもWindowsまたはLinuxを選択できます。先ほども述べたように、.NET開発者はWindowsをメインのオペレーティングシステムとして使用することを好む傾向があります。もしあなたも同じことをご希望であれば、以下の点にご注意ください。 NCache Windows 2022、19、16と同様に、Windowsを公式に完全にサポートしています。さらに、アプリケーションで使用しているものに応じて、.NET 6または.NET 4.0以降が必要です。Javaをお使いの場合は、当然ながらJava 11以降が必要です。

Linuxでも同じです。Linux上でアプリケーションを展開し、 NCache Ubuntu、Debian、Red Hat Enterprise Linuxのいずれかで動作します。ただし、Linuxに.NETアプリケーションをデプロイする場合は、当然.NET 6以降のバージョンが必要ですが、Javaアプリケーションの場合はJava 11以降で問題ありません。

ミッションクリティカルなアプリのための分散キャッシュ

NCache 2つの異なる用途があります。ミッションクリティカルなアプリケーションにおける分散キャッシュ、またはメッセージングとストリームのプラットフォームです。詳細については、 NCache アーキテクチャ ビデオをぜひ見てください。

ミッションクリティカルなアプリのための分散キャッシュ

しかし、どちらの場合でも NCache 5台以上のサーバーでクラスタリングして導入されます。分散キャッシュでは、アプリケーションサーバーとキャッシュサーバーの比率を1:XNUMX程度にすることをお勧めします。もう少し高い比率にすることも可能ですが、最適なパフォーマンスを得るには、この比率に近い値を維持することをお勧めします。なぜなら、キャッシュサーバーを使用する理由そのものが、 NCache パフォーマンスとスケーラビリティを向上させることです。

 

2。 作ります NCache クラスタ

では、早速作成してみましょう NCache クラスターです。このボックスのところまで来ますが、実はその前に…3台のサーバーがあり、すべてWindowsサーバーボックスで、クライアントが2台あります。1台はWindowsサーバーボックス、もう1台はLinuxボックスです。まず2台のサーバーからなるクラスターをお見せし、実行時に3台目のサーバーを追加します。 NCache そして、 管理センターこれは非常に強力なツールです NCache現在、ローカルボックスを参照しています。現在このボックスにアクセスしていますが、実際にこのボックスを管理する必要があります。IPアドレスをlocalhostからこれに変更し、Enterキーを押します。これでサーバーと通信できるようになります。それでは、分散キャッシュを作成します。キャッシュの名前は「democache」にします。シリアル化にはバイナリではなくJSONを使用します。

創造する NCache クラスタ

また、ご購読はいつでも停止することが可能です 詳細はこちら ドキュメントで詳しく説明しています。JSON は明らかに、プラットフォームと言語の中立性と移植性を重視しています。

トポロジと非同期レプリケーションとしてパーティション レプリカ キャッシュを使用します。

パーティションレプリカキャッシュ

繰り返しますが、これらすべては NCache アーキテクチャ 動画をご覧になってみてください。キャッシュサイズは16GBを選択します。お客様の場合は、当然これよりはるかに大きいサイズになります。先ほども申し上げたように、平均的なお客様の本番環境のプロファイルは109GBです。そこで、最初のサーバーを110、次のサーバーをXNUMXとします。今回は両方を指定します。ノードを追加します。

キャッシュのパーティションとサイズを設定する

では、まず2ノードのキャッシュクラスターから始めましょう。他の設定はすべてデフォルトのままにしておきます。「圧縮を有効にする」は選択しませんが、これは非常に強力な機能なので、ぜひ覚えておいてください。

暗号化と圧縮の設定

したがって、オブジェクトのサイズが特定のしきい値より大きい場合は、それらの圧縮が開始され、アプリケーションの全体的なスループットとスケーラビリティが向上します。

Evictionはオンのままにして、アルゴリズムまたはポリシーとして最も最近使用されていないものを選択し、キャッシュの5%を削除します。この削除は、キャッシュがいっぱいになったときに実行されます。パーティションサイズとして5GBを指定しました。つまり、そのパーティションがいっぱいになると、XNUMX%が削除されます。これをオフにすることもできます。その場合、削除は行われませんが、キャッシュがいっぱいになると新しいデータを拒否するようになります。そのため、ほとんどの場合、Evictionはオンのままにしておくことをお勧めします。

エビクションを有効にする

それで、15秒のクリーンインターバルを維持します。これは NCache 独自のクリーンアップ、記録、その他多くの重要な作業、例えば探索など、この時間内に完了します。「終了時にこのキャッシュを開始する」を選択します。「サービス起動時にこのキャッシュを自動的に開始する」もオンにした方が良いかもしれませんが、今回はそうしません。

 

3. クライアントを構成する

キャッシュを作成しました。次はクライアントの設定です。まだ作成中ですが、今回はクライアントを1つだけ追加します。アプリケーションの実行中、キャッシュも実行中の状態で、2つ目のクライアントをランタイムに追加します。これでキャッシュは既に開始されています。キャッシュを「監視」し、「統計」も実行します。これらは2つの異なるビューです。先に進みましょう。これを最小化して、見やすくします。すみません。ここまで来ていただくと、ダッシュボードが完成しているのがお分かりいただけると思います。

NCache 管理センター
 

4. をテストします。 NCache クラスタ

ご覧の通り、クライアントは実行されていません。それでは、このクラスターが動作しているかどうかを確認するために、簡単にテストしてみましょう。「ストレステスト」を実行します。109サーバー自体でストレステストツールを実行し、キャッシュと同じサーバー上にあるにもかかわらず、クライアントとして動作します。約30秒間、負荷をかけます。3,000つのノードを合わせると、XNUMX秒あたり約XNUMX件の操作が実行されます。

テストする NCache クラスタ

これでここまで作業が終わりました。次の目標はクライアントを追加することです。さて、これをクライアントとして追加します。このボックスにログインして、「ipconfig」と入力すると、112 と表示されます。おそらく既に停止していると思いますが、ここに戻って「詳細の表示」を開き、クライアントノードを「追加」して 112 を追加します。112 を追加します。

実行時にクライアントを追加する

112を追加したので、まだ何も実行していないため、クライアントが表示されていないことがわかります。構成にクライアントノードのみを追加しています。それでは、PowerShellのコマンドレットを使ってみましょう。 ストレステスト非常に便利で強力なコマンドレットツールをお届けします NCache実行してみましょう。実行するとすぐにクライアントが3,000つになるのが分かります。これは、キャッシュと通信するアプリケーションが突然負荷をかけているからです。つまり、6,000台のクライアントでXNUMX秒あたり約XNUMX件のリクエストを処理しています。つまり、XNUMX台のクライアントでクラスタ全体に対してXNUMX秒あたり約XNUMX件のリクエストを処理していることになります。

ストレステストの統計

キャッシュとアプリケーションが実行中です。今のところ、この111ノードのクラスターは限界に達していませんが、限界に達したと仮定し、111台目のサーバーを追加したいとします。そこで、実行時にXNUMX台目のサーバーを追加します。実行時に追加とは、他のすべてのサーバーが稼働している状態で、XNUMX台目のサーバーを追加している間は何も停止しないことを意味します。サーバーノードの欄に移動して「追加」を選択します。XNUMX台目のサーバーはXNUMX番だったので、XNUMX番を選択します。「追加」を選択します。これで構成に追加されましたが、まだ起動していません。ここでクリックして「開始」を選択します。起動前は、空のXNUMX台目のサーバーが構成に追加されていますが、まだ起動していないことがわかります。「開始」ボタンを押すと、突然起動し、負荷の一部を引き継ぎ始めます。

つまり、以前は6,000つのノードに分散されていたXNUMX件のデータが、今ではXNUMXつのノードに分散されているということです。もちろん、クライアントアクティビティを増やすまではトランザクションは増えませんが、XNUMXつのサーバーが満杯、あるいは限界に達しているような状況でも、実行時にXNUMXつ目のサーバーを追加することで、データ損失を起こさずに負荷を瞬時にシフトできることをお見せしています。

実行時にサーバーを追加する

実行時にサーバーを追加したので、今度は実行時にクライアントも追加します。これは別のクライアントマシンです。そのため、サーバーよりもクライアントを増やす必要があるかもしれません。実際、5:1などの比率に達するまではサーバーを追加する必要はないでしょう。しかし、ここに来て、すべてが実行されているので、クライアントのノードに移動して、113とします。これがボックスですよね?113です。これを追加します。これはLinuxボックスですが、まだアプリケーションを実行していないため、ここには表示されていません。ここに来て、実際には113ボックスにログインしています。Linuxボックスです。それで、Linuxのストレステストツールを実行して、さらに負荷をかけます。実は、ここに来て、現在クライアントが50つしかないのが分かります。もうXNUMXつのクライアントも実行してみます。実行するとすぐに、この数字がXNUMXに上がります。XNUMXに上がった瞬間、XNUMXつのサーバーからのXNUMX秒あたりのリクエスト負荷が、それぞれ約XNUMX%増加しました。これはXNUMXつのサーバーで発生しているものです。

実行時にクライアントを追加する

それで、「レポートビュー」を見ると、サーバーあたり平均約3500件、つまり約10,500件くらいですね。もちろん、これはすべて概算で、常に変動しているからです。

レポートビュー

ここまで、実行時にサーバーを追加する方法とクライアントを追加する方法を説明してきました。今度は、同じクライアントマシンに別のアプリケーションプロセスを追加します。Windowsマシンと別のPowerShellコマンドプロンプトを使って、別のクライアントを実行します。このストレステストツールは非常に強力で、多くのアクティビティを非常に迅速に確認できます。これで、より多くのアクティビティが起動されたことがわかります。クライアントマシンは2台だけですが、1台にはアプリケーションが1つ、もう1台にはアプリケーションが2つあります。つまり、合計3つのクライアントがあることになります。

実行時に別のクライアントを実行する

Linuxボックスから別のクライアントプロセス、つまりアプリケーションを追加してみましょう。Linux用のログインがもう113つあります。こちらとこちらにXNUMXつずつあります。こちらも同じXNUMXボックスです。ここでボックスをもうXNUMXつ追加すると、クライアントがXNUMX台になります。これでクライアントマシンXNUMX台あたりXNUMX台のクライアントとなり、負荷は継続します。

Linux ボックスで実行時に別のクライアントを実行する

これは、実行時にすべてを実行できること、そしてそれがいかに簡単であるかを示す、非常に良いデモンストレーションです。中央管理センターからすべてを実行でき、管理と監視の両方が行えるため、作業が非常に簡単になります。さて、戻ってビデオを再生します。

 

5。 使用 NCache アプリケーションで

分散キャッシュ

実際にクラスタのテストも済ませて、最後のステップは NCache アプリケーションで。これは.NET Editionのビデオなので、Java、Node.js、Pythonアプリケーションでも使えますが、ここでは.NETアプリケーションに焦点を当てます。先ほども述べたように、 NCache1つは分散キャッシュとして使う方法、もう1つはメッセージングとストリームとして使う方法です。図は次のようになります。

ミッションクリティカルなアプリのための分散キャッシュ

これが何ですか 分散キャッシュ どこにあるか NCache アプリケーション層とデータベースの間に位置します。そして、その目的はデータベースからのデータをできるだけ多くキャッシュし、アプリケーションがデータベースにアクセスする必要がないようにすることです。少なくとも80%の時間はデータベースからデータを取得します。 NCacheアプリケーションのパフォーマンスが向上し、スケーラビリティも非常に高まります。これが最初のユースケースです。

メッセージングおよびストリームプラットフォーム

2番目の使用例は NCache として メッセージングとストリーム プラットフォームです。これもまた、2台以上のサーバーで構成される超高速でスケーラブルなプラットフォームです。複数の分離されたアプリケーションが存在します。

NCache メッセージングおよびストリームプラットフォームとして

これらはWebアプリ、マイクロサービス、Web API、またはその他のサーバーアプリケーションです。.NET、Java、Node.js、Pythonなどが、 パブリッシュサブメッセージング. また、 連続クエリ他にも イベント の機能 NCacheこれらが2つの主な使用例です NCache.

サンプルコード

それでは、App Data Caching .NETのサンプルコードをいくつか紹介します。 NCache APIです。しかし、そのコードを見せる前に、実際に GitHub、そして NCache samples は、.NET、.NET Core、Java、Node.js のサンプルを含むリポジトリです。今回は Python のサンプルを追加します。これらのサンプルはすべてコンピュータにダウンロード済みです。ここにあります。.NET Core のサンプルを開いてみましょう。Pub/Sub サンプルとセッション キャッシング サンプルの 3 つのサンプルを開いています。それでは、それぞれのサンプルをお見せします。

基本的な操作サンプルでは、​​アプリのデータのキャッシュを次のように表示します。 NCache APIです。基本的な操作について見ていきましょう。これは非常にシンプルなコンソールアプリケーションで、 NCache まず、それは「NCache.client.CacheManager.GetCache はキャッシュ名を指定します。このキャッシュ名は「democache」で、ここで指定したものです。つまり、ここにあるのが作成したキャッシュです。どんな名前をつけても、それがキャッシュになります。キャッシュハンドルを取得すると、「_cache.Add、_cache.Get、_cache.Insert」が実行できることがわかります。挿入は、存在しない場合は追加、存在する場合は更新を意味します。そして、「_cache.Remove」です。もちろん、他にも多くの操作がありますが、ここでは基本的な操作サンプルの概要を簡単に説明します。

次のサンプルは、 ASP.NET Core セッションキャッシュご覧のとおり、これはASP.NET Coreアプリケーションです。ビデオは最小化しています。それでは、「Startup.cs」を開いてみましょう。「サービスの構成」では、「services.Add」を実行するだけで済みます。NCacheセッション」を選択し、「セクションの構成」を選択し、「NCache「設定」を開き、「appsettings.json」にアクセスすると、 NCache 設定は同じです NCache この例では、name は「democache」と指定されています。次に、configure メソッドで app.Use を実行する必要があります。NCacheSession(); そしてこれが NCacheは、ASP.NET Core 用のセッション ストレージを独自に実装しており、標準のセッション キャッシュやストレージよりも多くの追加機能を備えています。そのため、非常に強力です。つまり、使用を開始するために必要なのはこれだけです。 NCache セッションストレージについてです。これまで、アプリデータキャッシュとASP.NET Coreのセッションについて説明してきました。もちろん、これだけではありません。

Pub/Subメッセージングを簡単に見てみましょう。まずはここに来て、分散…ビデオを最小化してみましょう。パブリッシャーとサブスクライバーがあるのがわかります。これらは2つの別々のアプリケーションです。 走る() パブリッシャーのメソッドです。このサンプルでは3つのスレッドを作成するだけです。 ランパブリッシャー スレッド。 ランパブリッシャー, ランバルクパブリッシャー, 非同期パブリッシャーの実行ここで示したのと同じ方法でキャッシュに接続する様子をお見せします。これもキャッシュハンドルを取得し、メッセージをパブリッシュするのと同じです。すみません、RunPublisherがメッセージをパブリッシュします。それでは、メッセージをパブリッシュしてみましょう。パブリッシュメッセージは基本的にトピック名に基づいてトピックハンドルを取得し、メッセージをパブリッシュし続けます。つまり、パブリッシャーは分離された方法でメッセージをパブリッシュし、複数のパブリッシャーがパブリッシュしているということです。

これで、別のアプリケーションであるサブスクライバーが作成されました。これも同様にキャッシュに接続し、サブスクリプションを作成します。ここで ランサブスクライバー. サブスクライバーは基本的に同じ方法でキャッシュハンドルを取得し、 トピックそして、それに対してサブスクリプションを作成します。サブスクリプションとは、基本的にサブスクライバーが「このトピックに興味があります。パブリッシャーからメッセージがパブリッシュされたら、コールバックしてください」と伝えることを意味します。するとコールバックが呼び出され、コールバックはメッセージの内容に応じてアクションを実行できます。

つまり、非常に分離した非常に強力な使用方法です NCache Pub/Subメッセージングで。これが、何が起こっているのかの概要です。 NCache それだけです。 GitHubからサンプルをダウンロードする リポジトリです。そして、どうぞ 30日間のトライアルをダウンロード NCacheすでに述べたように NCache 30 日間の無料トライアルがあり、合計で最大 XNUMX か月まで延長できます。

NCache プレイグラウンド

そしてもう一つの特徴は NCache と呼ばれる プレイグラウンド これは完全に機能している NCache ブラウザからすぐにアクセスできる当社のウェブサイトにライブコピーを公開しています。そのため、インストールや設定などは一切不要です。これらのサンプルを試してみて、実際に実行することも可能です。EF Coreのサンプルも確認して実行することも可能です。別途 ビデオ これについて。ここでは詳しく説明しませんが、これは非常に強力な概念であり、すぐに理解するのに役立ちます。 NCache できる。

ご参加ありがとうございました。ぜひプレイしていただければ幸いです。 NCache ぜひ、あなたのアプリケーションでお使いください。ありがとうございます。

次はどうする?

お問い合わせ

電話

+1 214-619-2601 (米国)

+44 20 7993 8327 (英国)

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