我有 2 个有状态服务集群:mongo 和 elasticsearch 集群。我想保持两个集群的文档同步。
对我来说,这看起来像是一个分布式事务问题,我决定尝试事件溯源,因为它不仅解决了这个问题,而且自然适合我的应用程序。
我决定使用https://eventstore.org来存储事件,并从我的后端订阅更改,然后更新我的有状态集群。
我的后端是无状态的,最终会扩展到多个实例,我担心每个后端实例都会从 eventstore 获取更新并更新有状态的集群,因为更新可能是幂等的,所以每次写入我都会得到 N 个类似的文档。这个问题一般是怎么解决的?
我真的不想为每个集群创建一个单例订阅者,它监听更新,它使这个单例成为单点故障......