Webアプリケーション用のセッションストアを実装したいと思います。ここに私のアプリケーションのプロフィールがあります。Cassandraにヘーゼルキャストを使用するメリットはありますか
- セッションに関連付けられた情報は大きく変更されませんが、 時々変更されます。
- セッション読み取り(session.getAttribute())は書き込み(session.setAttribute())より頻繁です。
- 私はマスターノードベースのアーキテクチャ(redisのような)を扱いたくありません。
- セッションに関連付けられたデータは小さいですが、セッション数は大きくなる可能性があります。
- ルックアップは常にハッシュマップのようにキー値の形式です。
- 私は最終的な一貫性でOKです。
- 私はレプリケーションファクタを指定できるようにします。すなわち、与えられたセッションのデータを保持するノードの数
- 私は、上記の機能のライセンスコストを必要としないオープンソースのソリューションのみを探しています。
- 今のところ、セッションあたり10kbのデータで10,000セッション(平均)を保存したいのですが、最終的には100,000セッション以上に拡大したいと考えています。
私のアプリでは、ヘイルキャストはすでに他の機能に使用されています。しかし、私はそれを決定的要因にしたくありません。カッサンドラは私のすべての要求を満たすと思われ、それは非常に人気があるようです。カッサンドラにヘイルキャストを選んだ理由は何ですか?
ポイント1と2に注意してください。セッションは書き込みが重いです。 Webリクエストを処理するたびに、読み取りまたは書き込みのセッション属性にアクセスするかどうかに関係なく、セッションの最終アクセス時間を更新する必要があります。 –
@NeilStevenson最後のアクセス時間を指摘してくれてありがとう。私はその部分をほとんど忘れてしまった。 – coolk