These are chat archives for RBMHTechnology/eventuate
Global-scale event sourcing and event collaboration with causal consistency
@mehdimas Each location can have one or more local event logs. Local event logs can be stored in a (pluggable) storage backend, Cassandra being one of them. Think of a local event log as Cassandra table that is used by the owning location. The use case for Cassandra is stronger durability guarantees within a location and has nothing to do with Eventuate-specific replication between locations. Two or more locations can then connect their local event logs to a replicated event log (represented by one local event log per location).
Different locations can still store their local event logs within the same Cassandra cluster (and connect them to a replicated event log) but in this case the desired availability of individual locations is reduced to the availability of a majority of Cassandra cluster nodes (as Eventuate makes QUORUM writes to local event log tables). In other words, you can use a shared Cassandra cluster across locations but it may prevent what you actually want to achieve with Eventuate: write-availability of a location even if it is partitioned from others.
If I associate a replicated event log for each shard, is it safe to share the same Cassandra cluster with all nodes in my cluster?
It is safe but the availability of each shard is limited for reason explained above.
Also, how would I connect the shard logs to an aggregate log for producing views?
To create the views at a single location, create a replication network that replicates events from all shards to a local event log at that location. This assumes that writes to different shards are independent.