本文介绍了微服务内部通信的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我一直在研读微服务体系结构,但我仍然不能理解微服务间的通信机制。
在许多文章中,他们说微服务通常是通过RESTful API公开的。但是,当您在Internet上搜索时,您总是会看到基于消息传递和事件的后端通信实现。
所以我很困惑,睡觉接口是所有微服务的标准,还是我们可以看到没有睡觉端点的微服务。
推荐答案
针对您的问题,首先了解一下服务之间的交互方式,创建两个服务订单服务和客服:
- 某项服务需要来自其他服务的一些数据来处理它的请求,例如:假设您要下单,那么您必须从UI点击Http请求到Order服务(可以是睡觉,或者在n个服务之间有一个api网关,使用其他协议,比如协议)来调用下单服务下单,现在假设订单服务需要检查客户的合法性,所以订单服务需要同步调用客服--最有可能的是您会点击睡觉或者创建一个协议Buf,或者在服务之间有一个持久的websocket,然后
在这种情况下需要模拟同步通信,一种直接的方法是睡觉或协议缓冲区,或者通过消息来模拟
- 基于一个服务事件,您希望更新其他服务:在这种情况下,通常首选的样式是消息传递总线,其中一个服务发出输出事件,而多个其他服务在消息传递总线上有一个侦听器并做出相应的反应。例如:比方说客服中的客户名称更新时,您想要更新订单服务中缓存的客户名称,在这种情况下,客服更新名称时会发出客户名称更新事件,订单服务订阅它,然后做出反应
上述链接:microservices.io非常好,请重新浏览
这篇关于微服务内部通信的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!