微服务之间的最佳调用方式!| CSDN 博文精选( 七 )
事件溯源是微服务的一种存储方式,它是微服务的内部实现细节。因此你可以决定哪些微服务采用事件溯源方式,哪些不采用,而不必所有的服务都变成事件溯源的。通常整个应用程序只有一个Event Store, 不同的微服务都通过向Event Store发送和接受消息而互相通信。
Event Store内部可以分成不同的stream(相当于消息队列中的Topic), 供不同的微服务中的领域实体(Domain Entity)使用。
事件溯源的一个短板是数据查询,它有两种方式来解决。第一种是直接对stream进行查询,这只适合stream比较小并且查询比较简单的情况。
查询复杂的话,就要采用第二种方式,那就是建立一个只读数据库,把需要的数据放在库中进行查询。数据库中的数据通过监听Event Store中相关的事件来更新。
数据库存储方式只能保存当前状态,而事件溯源则存储了所有的历史状态,因而能根据需要回放到历史上任何一点的状态,具有很大优势。但它也不是一点问题都没有。
推荐阅读
- 客服|自购增值服务不自知?手机被恶意扣费,联通公司还要套路多久?
- 腾讯|LPL年度最佳选手,同队最多三人,选谁?
- edg战队|年度最佳阵容评选,EDG不可能全员上榜?圣枪哥恐将成为牺牲位
- 永劫无间|官宣!《永劫无间》活动期间打7折!萌新入坑最佳时机!
- 我的世界|我的世界:6个“友尽”的小技巧,不要轻易在好友的服务器尝试!
- ag战队|魔兽TBC:免费转服即将开放,四类服务器现状分析,玩家把握机会
- viper|最佳外援是VIPER,新任FMVP坐不住了?本土选手机制了解一下
- 剑网3|剑网三玩家开挂,出生装备服务器第一!开局淘汰95个对手,离大谱
- 任天堂|免费“大作”会有吗?任天堂商业报告提到将改善Switch会员服务
- 泰拉瑞亚|泰拉瑞亚:克鲁苏之眼之间的战斗,“地牢守卫”才是威胁!