0

高負荷の注文処理エンジンを作成しています。すべてのクラスタ ノードは、一連のコントラクトを処理し、アクション ログをローカル ファイルに書き込みます。このファイルは、他のいくつかのノードに分散する必要があります (耐障害性のため)。ノードに障害が発生した場合、レプリケーション ノードの 1 つでできるだけ早く状態を復元する方法が必要です。現在、cassandra を使用していますが、パーティショナーにはいくつかの問題があります。特定のテーブルに使用するノードを指定する方法がありません。

したがって、ファイルを複製する必要があります。解決策はありますか?

編集: ピーク負荷は、1 秒あたり約 200k レコードになります。

4

1 に答える 1

0

Cassandra の問題に関して: テーブル/列ファミリごとに異なるレプリケーション レイアウトを使用することはできませんが、キースペースごとに異なるレイアウトを使用することはできます。これには、ノードのセット S1 がデータの一部を完全に担当し、他のセット S2 が別の部分を担当するように聞こえる、あなたのようなケースが含まれます。

Cassandra に対して S1 と S2 を異なるデータセンターとして表す場合 (PropertyFileSnitch などを介して)、キースペース K1 を構成して、S1 に X コピーを配置し、S2 にコピーを配置しないようにすることができます。また、キースペース K2 についてはその逆も可能です。

于 2012-05-02T22:44:31.200 に答える