問題:
50〜100台のTomcatサーバーで使用される複数の共有シーケンスジェネレーターを実装する必要があります。各シーケンスジェネレーターは1から始まり、要求ごとに1ずつ増加する必要があります。シーケンスジェネレータの実装には、アトミックインクリメントコマンドが必要です。Javaクライアントが利用可能である必要があります。
スケール:
最大50000のシーケンスジェネレーターがアクティブに使用されます。それぞれについて、5〜10秒で1つの増分リクエストが必要です。1秒あたり最大20000リクエスト
50-100Javaクライアント(Tomcatサーバー)。シーケンスジェネレーターへのアクセスは、これらのサーバー間で共有されます。重要:2つのクライアントのみが同じシーケンスジェネレーターを使用します。
50〜100回-各シーケンスジェネレーターが使用される平均回数。
24時間TTL-ジェネレーターは作成後24時間以内にクリーニングする必要があります-したがって、実際には50000を超えるシーケンスジェネレーターが存在する可能性がありますが、同時にアクティブにリクエストを受信するのは最大50000までと予想されます。
パフォーマンス:
1ms未満の望ましい平均応答時間。2ms以上の平均は間違いなく十分ではありません。
OracleのSequenceオブジェクトを除外しました。
現在、RedisとMemcachedを検討しています。
どちらも高速です。
どのような実装が推奨/十分に良いですか?
この目的のために他にもっと良い技術はありますか?
もう1つの重要な質問:
incr、Redis、Memcachedのどちらのパフォーマンスが優れていますか?
ありがとう