虽然每个微服务通常都有自己的数据 - 但某些实体需要在多个服务之间保持一致.
对于高度分布式环境(如微服务架构)中的此类数据一致性要求,设计有哪些选择?当然,我不想要共享数据库体系结构,其中单个数据库管理所有服务的状态.这违反了孤立和无共享的原则.
我明白,微服务可以在创建,更新或删除实体时发布事件.对此事件感兴趣的所有其他微服务可以相应地更新其各自数据库中的链接实体.
这是可行的,但它会导致整个服务中的许多仔细和协调的编程工作.
Akka或任何其他框架可以解决这个用例吗?怎么样?
编辑1:
为清楚起见,添加下图.
基本上,我试图理解,如果今天有可用的框架可以解决这个数据一致性问题.
对于队列,我可以使用任何AMQP软件,如RabbitMQ或Qpid等.对于数据一致性框架,我不确定目前Akka或任何其他软件是否可以提供帮助.或者这种情况是如此罕见,以及这种反模式,不需要任何框架?
