Я использую Gemfire Cache, и он распределен по 3 кластерам в 3 разных регионах. Также у меня есть сообщения, которые обновляются и удаляются в разных кластерах, и поэтому иногда я сталкиваюсь с VersionConflictExceptions
Один из способов - изменить мою распределенную архитектуру так, чтобы все обновления и удаления сообщений фиксировались в одном кластере, который будет вести себя как главный, а остальные 2 получат обновления из главного кластера. Однако это вызывает небольшую задержку, если я читаю данные из локального кластера вместо удаленного.
Я думал, могу ли я иметь Apache реализацию Kafka с 3 производителями по 1 для каждого кластера, который будет публиковать sh данные в топи c, а затем 3 потребителя, которые будут помещать данные в соответствующий кластер и переключатель репликации кеша.
Может ли кто-нибудь указать плюсы и минусы подхода Kafka.