本文介绍了微服务内部通信的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在研读微服务体系结构,但我仍然不能理解微服务间的通信机制。
在许多文章中,他们说微服务通常是通过RESTful API公开的。但是,当您在Internet上搜索时,您总是会看到基于消息传递和事件的后端通信实现。

所以我很困惑,睡觉接口是所有微服务的标准,还是我们可以看到没有睡觉端点的微服务。

推荐答案

针对您的问题,首先了解一下服务之间的交互方式,创建两个服务订单服务和客服:

  1. 某项服务需要来自其他服务的一些数据来处理它的请求,例如:假设您要下单,那么您必须从UI点击Http请求到Order服务(可以是睡觉,或者在n个服务之间有一个api网关,使用其他协议,比如协议)来调用下单服务下单,现在假设订单服务需要检查客户的合法性,所以订单服务需要同步调用客服--最有可能的是您会点击睡觉或者创建一个协议Buf,或者在服务之间有一个持久的websocket,然后

在这种情况下需要模拟同步通信,一种直接的方法是睡觉或协议缓冲区,或者通过消息来模拟

  1. 基于一个服务事件,您希望更新其他服务:在这种情况下,通常首选的样式是消息传递总线,其中一个服务发出输出事件,而多个其他服务在消息传递总线上有一个侦听器并做出相应的反应。例如:比方说客服中的客户名称更新时,您想要更新订单服务中缓存的客户名称,在这种情况下,客服更新名称时会发出客户名称更新事件,订单服务订阅它,然后做出反应
您的第三个问题是,有没有可能没有睡觉端点的服务:是的,这是可能的,但是每个服务都需要是可访问的。因此需要使用睡觉或其他形式

上述链接:microservices.io非常好,请重新浏览

这篇关于微服务内部通信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-29 13:31