API de la fábrica de almacenes

A StoreFactory selecciona dónde vive la información de la sesión y qué EventStore distribuye eventos. El almacenamiento y la sincronización de eventos son independientes, así que puedes combinar libremente los backends.


MemoryStoreFactory

MemoryStoreFactory()

Crea una fábrica usando almacenamiento en memoria y el MemoryEventStore. Úsalo para nodo único o sin distribución configuraciones.

StoreFactory sf = new MemoryStoreFactory();
// almacenamiento en memoria + eventos solo locales

MemoryStoreFactory(EventStore eventStore)

Crea una fábrica usando almacenamiento en memoria y un EventStore personalizado para sincronización distribuida.

EventStore es = new KafkaEventStore(...);
StoreFactory sf = new MemoryStoreFactory(es);
// almacenamiento local + eventos distribuidos (Kafka)

HazelcastStoreFactory

HazelcastStoreFactory(HazelcastInstance hazelcastClient)

Crea una fábrica usando Almacenamiento Hazelcast y el HazelcastEventStore.


HazelcastStoreFactory(HazelcastInstance hazelcastClient, EventStore eventStore)

Crea una fábrica usando Almacenamiento Hazelcast y un EventStore personalizado backend.


RedisStoreFactory

RedisStoreFactory(RedissonClient redissonClient)

Crea una fábrica usando Almacenamiento Redis y el RedissonPubSubEventStore (Redis Pub/Sub).


RedisStoreFactory(RedissonClient redissonClient, EventStore eventStore)

Crea una fábrica usando Almacenamiento Redis y un EventStore personalizado.


Mezclando backends de almacenamiento y eventos

Almacenamiento (StoreFactory)

Evento (EventStore)

Ejemplo

Memoria

Kafka

new MemoryStoreFactory(new KafkaEventStore(...))

Redis

NATS

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

Hazelcast

Redis Streams

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

Memoria

Memoria

new MemoryStoreFactory()

Hazelcast

Kafka

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


Uso mínimo del servidor


Resumen del concepto

StoreFactory decide dónde vive la información por sesión. EventStore decide cómo se propagan los eventos entre servidores. Ambos son configurables e intercambiables, sin cambiar el código de la aplicación.

Última actualización

¿Te fue útil?