ENV and tenant id setting should be used in topic naming convention. This will separate data of different customers to different Kafka topics. In addition to that it allows a Kafka instance to be shared by multiple environments that have the same tenant id.
- Topic name should be concatenated from the following string constants (in exactly the same order):
- Environment name (from ENV environment variable)
- Tenant name (should be the second, because it is convenient to use wildcard in ACL for Kafka users)
- Producer module name ("storage" postfix should be omitted)
- Domain entity name in singular form (if it is not domain event, the name of process should be used or just event name)
All existing topics should be aligned.
For example topics in bugfest (ENV == bugfest) the Kafka topic for inventory instances for tenant fs09000000 should have the following name: