微服务架构中的进程间通信(进程间通信机制一)

一、基于同步远程过程调用(RPI)模式的通信

1.1 REST

1.1.1 概念

REST是一种使用HTTP协议的进程间通信机制。

REST中的一个关键概念是资源,它通常表示单个业务对象,例如:客户/产品/业务对象的集合。

REST使用HTTP动词操作资源,使用URL引用这些资源,例如:GET请求返回资源的表示形式

1.1.2 gRPC

用于编写跨语言客户端和服务端的框架。

gRPC API由一个或多个服务和请求/响应消息定义组成。

gRPC使用Protocol Buffers(标记格式)作为消息格式。

1.1.3 使用断路器模式处理局部故障

断路器:远程过程调用的代理,在连续失败次数超过指定阈值后的一段时间内,这个代理会立刻拒绝其他调用。 

解决思路:

1、必须让远程过程调用代理有正确处理无响应服务的能力。(响应次数)

2、需要决定如何从失败的远程服务中恢复。

1.1.4 服务发现机制

概念:关键组件是服务注册表,是包含服务实例网络位置信息的一个数据库。

实现服务发现的两种主要方式:

1、服务及其客户直接与服务注册表交互;

自注册模式和客户端发现模式的组合。

自注册:服务实例向服务注册表注册自己;

客户端发现:客户端从服务注册表检索可用服务实例的列表,并在它们之间进行负载均衡。

2、通过部署基础设施来处理服务发现(建议使用,没有语言或框架的限制)

第三方注册(注册服务器)模式和服务端发现模式

第三方注册:服务实例由第三方自动注册到服务注册表;

客户端发现模式:客户端向路由器发出请求,路由器负责服务发现。

笔记来自:《微服务架构设计模式》一书,作者 [美] 克里斯·理查森 著,喻勇译  第三章 

猜你喜欢

转载自blog.csdn.net/qq_24166417/article/details/106887036