微服务之间的最佳调用方式!| CSDN 博文精选( 四 )
再说写数据,如果在创建一个“Order”时需要创建一个新的“Customer”或要修改“Customer”的信息,那么可以在界面上跳转到用户创建页面,然后在“Customer Service”创建用户之后再发”用户已创建“的消息,“Order Service”接到消息,更新本地“Customer”表。
这并不是一个很好的使用事件驱动的例子,因为事件驱动的优点就是不同的程序之间可以独立运行,没有绑定关系。但现在“Order Service”需要等待“Customer Service”创建完了之后才能继续运行,来完成整个创建“Order”的工作。主要是因为“Order”和“Customer”本身从逻辑上来讲就是紧耦合关系,没有“Customer”你是不能创建“Order”的。
在这种紧耦合的情况下,也可以使用RPC。你可以建立一个更高层级的管理程序来管理这些微服务之间的调用,这样“Order Service”就不必直接调用“Customer Service”了。
当然它从本质上来讲并没有解除耦合,只是把耦合转移到了上一层,但至少现在“order Service”和“Customer Service”可以互不影响了。之所以不能根除这种紧耦合关系是因为它们在业务上是紧耦合的。
推荐阅读
- 客服|自购增值服务不自知?手机被恶意扣费,联通公司还要套路多久?
- 腾讯|LPL年度最佳选手,同队最多三人,选谁?
- edg战队|年度最佳阵容评选,EDG不可能全员上榜?圣枪哥恐将成为牺牲位
- 永劫无间|官宣!《永劫无间》活动期间打7折!萌新入坑最佳时机!
- 我的世界|我的世界:6个“友尽”的小技巧,不要轻易在好友的服务器尝试!
- ag战队|魔兽TBC:免费转服即将开放,四类服务器现状分析,玩家把握机会
- viper|最佳外援是VIPER,新任FMVP坐不住了?本土选手机制了解一下
- 剑网3|剑网三玩家开挂,出生装备服务器第一!开局淘汰95个对手,离大谱
- 任天堂|免费“大作”会有吗?任天堂商业报告提到将改善Switch会员服务
- 泰拉瑞亚|泰拉瑞亚:克鲁苏之眼之间的战斗,“地牢守卫”才是威胁!