Open cer opened 2 years ago
See this example
It has an environment variable - EVENTUATE_OUTBOX_TABLES
- that specifies how many MESSAGE
table shards to create.
See the 0.activate-additional-scripts.sh script
The Eventuate JDBC producer is configured using EVENTUATE_TRAM_OUTBOX_PARTITIONING_OUTBOX_TABLES
env var (or the corresponding Spring Application context property eventuate.tram.outbox.partitioning.outbox.tables
)
It has an environment variable - EVENTUATE_CDC_OUTBOX_PARTITIONING_OUTBOX_TABLES
- which specifies how many MESSAGE
table shards to read from.
Please note:
EventuatePolling
profile and for single pipeline configurationTo-do items:
In order to improve scalability of Producer and CDC, shard the message table using
Message.PARTITION_ID
(i.e. domain event aggregate ID):Multiple message tables -
MESSAGE{hash(destination, partitionID) % numberOfOutboxTables}
- improves scalability of producer and CDC, e.g. a polling thread per message tableAdd a partition column -
MESSAGE{hash(destination, partitionID) % numberOfOutboxPartitions}
- improves scalability of CDC, e.g. a polling thread per partition