ストアファクトリー API

A StoreFactory を選択します セッションデータがどこに保存されるか および どの EventStore がイベントを配布するか。 ストレージとイベントの同期は 独立していますので、バックエンドを自由に組み合わせることができます。


MemoryStoreFactory

MemoryStoreFactory()

を使用してファクトリを作成します インメモリストレージ とデフォルトの MemoryEventStore。 に使用します シングルノード または 非分散 構成。

StoreFactory sf = new MemoryStoreFactory();
// インメモリストレージ + ローカル専用イベント

MemoryStoreFactory(EventStore eventStore)

を使用してファクトリを作成します インメモリストレージカスタム EventStore で分散同期を行います。

EventStore es = new KafkaEventStore(...);
StoreFactory sf = new MemoryStoreFactory(es);
// ローカルストレージ + 分散イベント(Kafka)

HazelcastStoreFactory

HazelcastStoreFactory(HazelcastInstance hazelcastClient)

を使用してファクトリを作成します Hazelcast ストレージ とデフォルトの HazelcastEventStore.


HazelcastStoreFactory(HazelcastInstance hazelcastClient, EventStore eventStore)

を使用してファクトリを作成します Hazelcast ストレージカスタム EventStore バックエンド。


RedisStoreFactory

RedisStoreFactory(RedissonClient redissonClient)

を使用してファクトリを作成します Redis ストレージ とデフォルトの RedissonPubSubEventStore (Redis Pub/Sub)。


RedisStoreFactory(RedissonClient redissonClient, EventStore eventStore)

を使用してファクトリを作成します Redis ストレージカスタム EventStore.


ストレージとイベントバックエンドの組み合わせ

ストレージ(StoreFactory)

イベント(EventStore)

メモリ

Kafka

new MemoryStoreFactory(new KafkaEventStore(...))

Redis

NATS

new RedisStoreFactory(redis, new NatsEventStore(...))

Hazelcast

Redis Streams

new HazelcastStoreFactory(hz, new RedisStreamEventStore(...))

メモリ

メモリ

new MemoryStoreFactory()

Hazelcast

Kafka

new HazelcastStoreFactory(hz, new KafkaEventStore(...))


最小限のサーバー使用例


コンセプトの要約

StoreFactory どこにセッションごとのデータが保存されるかを決定します。 EventStore サーバー間でイベントがどのように伝播するかを決定します。 両方とも 設定可能で差し替え可能です。アプリケーションコードを変更することなく。

最終更新

役に立ちましたか?