程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了最佳实践:Restful 事件驱动微服务架构中的往返调用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决最佳实践:Restful 事件驱动微服务架构中的往返调用?

开发过程中遇到最佳实践:Restful 事件驱动微服务架构中的往返调用的问题如何解决?下面主要结合日常开发的经验,给出你关于最佳实践:Restful 事件驱动微服务架构中的往返调用的解决方法建议,希望对你解决最佳实践:Restful 事件驱动微服务架构中的往返调用有所启发或帮助; @H_944_2@我正在使用带有 Rest Endpoints 的事件驱动微服务架构。

@H_944_2@我正在寻找有关微服务往返调用的建议。

@H_944_2@例如,在我的应用中,我有服务“A”和“B”

@H_944_2@服务 B 调用 A 的 post 方法,“A”再次调用“B”上的 get 方法以获取一些数据以准备最终结果。我正在使用这种方法来打破循环依赖。

@H_944_2@到目前为止,我读过的几乎所有文章都在谈论“减少”往返次数,而不一定是“消除”往返次数。

@H_944_2@微服务最佳实践对此类往返有何看法?

解决方法

@H_944_2@首先,事件驱动的微服务通过从事件代理生成和消费事件来精确地避免这种同步直接通信。

@H_944_2@无论如何,无论您使用事件异步通信还是直接通信,服务之间的通信越少对性能越好。因此,在您的情况下,您可以做的最好的事情是传递服务 B 需要从服务 A 获得的所有信息,这样服务 B 就不需要进行其他调用。

@H_944_2@使用事件驱动的方法,服务 A 将使用服务 B 所需的所有信息生成一个事件,并将其发送到服务 B 将侦听的主题。

, @H_944_2@根据您的架构质量目标,有三种可能的往返解决方案:

  • 执行调用并增加客户端请求的延迟。
  • 事先复制数据以更快地响应客户。例如,您可以使用异步发布-订阅机制。
  • 将这两项服务合并为一个更大的服务。
@H_944_2@最佳实践(尚未验证,但受 SCS 启发):尝试使用复制数据在服务之间进行 0 跳以响应客户端请求。

大佬总结

以上是大佬教程为你收集整理的最佳实践:Restful 事件驱动微服务架构中的往返调用全部内容,希望文章能够帮你解决最佳实践:Restful 事件驱动微服务架构中的往返调用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。