电力营销业务移动作业平台技术及应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.1.4 微服务的基本流程

典型的微服务架构(MSA)包含以下组件:客户端、身份提供者、内容交付网络、API网关、静态内容、管理、远程服务、服务和服务发现。微服务基本架构如图3-3所示。

图3-3 微服务基本架构

微服务体系结构从不同类型的客户端开始,从尝试执行各种管理功能(如搜索、构建、配置等)的不同设备开始。然后,来自客户端的这些请求在身份提供者上传递,身份提供者验证客户端的请求并将请求传递给API网关。通过定义良好的API网关将请求传递给内部服务。由于客户端不直接调用服务,因此API网关充当客户端将请求转发给适当的微服务的入口点。使用API网关不仅可以让所有服务都在客户不知情的情况下进行更新,还可以使用非Web友好的消息传递协议。并且API网关可以执行交叉功能,如提供安全性、负载平衡等。接着,在接收到客户端的请求之后,这些微服务通过相互通信处理客户端请求。他们通过以下两种类型的消息进行通信:

(1)同步消息:由于微服务依赖客户端服务和HTTP协议,在客户端等待服务响应的情况下,微服务通常倾向于使用REST(Representational State Transfer);

(2)异步消息:在客户端不等待服务响应的情况下,微服务通常倾向于使用AMQP、STOMP、MQTT等协议。

之后,微服务提供的服务被转发给任何支持不同技术栈的进程间通信的远程服务,在微服务自身通信之后,他们将静态内容部署到基于云的存储服务中,该服务可以通过内容交付网络(CDN)将其直接传递给客户端。最后,管理组件负责平衡节点上的服务和故障识别。服务发现充当微服务的指南,以便在维护节点所在的服务列表时找到它们之间的通信路由,从而实现整个微服务架构的基本流程。