Coherenceを分散キャッシュとして使用する特定のシナリオがあります。ここで説明します。
- データを継続的にキャッシュに入れるスタンドアロン プロセスが 20 以上あります。それらすべての頻度は異なりますが、それは問題ではありません。
- そして、それらのキャッシュからデータを読み取る2つのプロセス。
- コヒーレンスが提供する方法を除いて、基礎となるデータベースは必要ありません。データはキャッシュに書き込まれ、キャッシュから読み取られます。
- 自由に使える 4 ノード クラスタがあり (コストの制約は何でも)、コヒーレンス クラスタは別のボックス (インフラの制約は何でも) にあり、キャッシュの入力部分と読み取り部分の両方が異なるマシン上にあります。
- 1 日あたりのキャッシュのピーク メモリ サイズは、最大で 6 GB、最小で 2 GB 前後です。キャッシュには毎日のデータのみが含まれ、それを同時にアーカイブし続けるために別のアーカイブ プロセスが必要です。ポイントは、現時点でキャッシュ サイズがこのサイズのみになることです。日付を重要な方程式から遠ざけるつもりだとしましょう。
- ただし、これらの 4 つのノードにさらに保存できるかどうかを調べたいと思います。現在、単純なシリアル化により、他の nbinary 形式を探索できます。それとも、このサイズのキャッシュで間違いなく使用する必要がありますか?
- 私の読み取りおよび書き込み操作は、1 日のうちかなり分散しています。つまり、2 つの読み取りクライアントと 20 以上の書き込みクライアントによって、読み取りと書き込みが継続的に行われます。それらのうちの1つがより多いというわけではありません。すべてのバックグラウンド プロセスには起動バッチ プロセスがありますが、その後の継続的なプッシュよりも多くをキャッシュにプッシュします。ただし、継続的にプッシュすると、かなりの量のデータもプッシュされます。
上記の点に関する私の質問(そしていくつかの混乱のために)
- 最大の問題は、購入したノードに応じて接続数が制限されていると誰かが私に言ったことです。それで彼は、4の場合、理想的には最大で4つの接続を持つべきだと言いました。それで、ゲートキーパーのようなアプリケーションを開発してください。TCP Extend を使用している場合でも。今までの私の読書から、私はそうは思わない。それは...ですか?ポイントは、本当に制約がない場合は、そのように行きたくないということです。
つまり、クラスタ内のノードによって、Proxy Service 経由の接続に制限があるのでしょうか?
上記のみに関連するもの。最大で、Extend 方法を使用した場合にのみ、キャッシュにプッシュするときにパフォーマンスに何らかのペナルティが発生しますよね?
パーティション化されたキャッシュ/ニア キャッシュ。読み取り時間とほとんどの更新キャッシュの両方が非常に重要です。(私が持っている最もインプな質問)。
シリアライゼーション/外部化/protobufと言う代わりに、POFに行くことで得られる利点を本当に見たいと思っています。コヒーレンスはすぐにprotobufをサポートできますか? (後回しになるかもしれません)