微服务扩展新途径:Messaging

  • 时间:
  • 浏览:0
  • 来源:uu直播快3平台

机会服务 A 要和服务 B 互动,是要服务 A 来调用服务 B(编制),还是让服务 B 去订阅正确的时间(编排)呢?

服务编制是通过队列实现消息传递的。队列要能在竞争使用者模式下实现负载均衡,咋样让确保消息和使用者一一对应。

咋样让前要类式融合了话题和队列的综合形式,充收集挥类式一一五个功能:既要能利用“客户服务”的发布-订阅来发布事件,确保所有服务都能收到该事件;也要能通过竞争的使用者,使个体服务实例实现负载均衡并进行扩展。

除了哪几种技术层面的考虑,还应该注意考量服务互动的某些层面:耦合和责任。

使用队列的一一一五个好处咋样让它要能轻松扩展使用者,并开启多个“忠诚值服务”和“邮件服务”,从而将负载均衡地分布于不同的使用者间。

另外,用编排扩展微服务还要能通过事件驱动来实现,这里咋样让一篇介绍类式辦法 的推荐文章。

在异步互动中,服务使用者发出的请求无需在操作完成后才要能运行。一旦请求确认被收到,服务使用者就要能接着做某些的活动。类式类型支持互动沟通采用发布-订阅模式,类式:不前要服务使用者调用某些服务操作,只前要生产者提出事件,等待时间感兴趣的使用者做出反应即可。

本文转自 OneAPM 官方博客

原文地址:https://dzone.com/articles/scalable-microservices-through-messaging

【编者按】服务编排是微服务设置的一一一五个重要方面。本文在利用 ActiveMQ 虚拟话题来实现类式目标的一起去,前要提供实用性指导。文章系国内 ITOM 管理平台 OneAPM 编译呈现。

机会让你了解更多关于本话题的内容,请查阅 Building Microservices。接下来,本文将集中讨论咋样使用消息传递实现服务编排。

话题执行发布-订阅,而前要竞争使用,这使得使用者的扩展变得更加困难。机会(横向)扩展“忠诚值服务”并在一一一五个实例中进行试验,要能发现它们会收到同样的事件,以前扩展句子并那末哪几种益处(除非服务是等幂的)。

举个例子:

实现该形式的辦法 有却说 ,要能利用 Camel 和 ActiveMQ :

在服务编制中前要有一一一五个中心实体(即例子中的服务 A),去了解被调用的某些服务。利用编排辦法 ,要能将类式责任分配给个体服务,由它们来负责订阅“有意思的”事件。

在同步互动中,服务使用者会发出请求,咋样让在操作完成、收收回复前阻止某些活动运行,HTTP 协议咋样让一一一五个很好的同步互动例子。通常具体情况下,类式互动与请求-回复互动类型、 HTTP 协议前要相关的(当然,也要能利用异步请求或消息传递来登记、请求回调函数的结果,不过类式做法不太常见)。

目前,微服务使用已十分普遍,利用服务编排(而前要服务编制)来进行微服务互动的想法也很常见。本文将讲述咋样通过 ActiveMQ 虚拟话题来设置服务编排和基于服务互动的可扩展事件。

使用服务编排辦法 时,“客户服务”却不前要了解“忠诚值服务”和“邮件服务”。机会“客户服务”却说对“客户话题”发出一一一五个事件,“忠诚值服务”和“邮件服务”就会去了解客户事件协议,并订阅正确句子题——话题的发布-订阅语意会确保每个事件一起去被收集给一一一五个订阅者。

ActiveMQ 虚拟话题是将订阅队列发布到话题中的辦法 ,通过一一一五个简单的命名惯例——所要做的咋样让选泽话题或队列的命名惯例,无论是自定义的还是默认的都要能。

以上所述咋样让最近出版的著作 Camel Design Patterns 里介绍的多种模式之一。正机会无缘无故将Camel 与 ActiveMQ 一起去使用,书中也就收录了某些 ActiveMQ 模式内容。

服务互动类型主要有类式:同步和异步。

假设占据 一一一五个与“邮件服务”互动的“客服服务”,最简单的实现辦法 咋样让使用一一一五个允许“客户服务”给“邮件队列”发送消息的队列。机会“客户服务”前要跟“忠诚值服务”互动,“客户服务”就要给“忠诚值服务”再发每根消息。类式辦法 下,“客户服务”前要了解“邮件服务”和“忠诚值服务”这两者,咋样让把正确的消息发给对应的队列。简而言之,整个互动过程前要由“客户服务”编制的。