写点什么

007 云原生之 Service Mesh(中心化 Broker)

发布于: 刚刚
007云原生之Service Mesh(中心化Broker)

当服务消费者需要调用一个服务时,只需要将服务请求发给中心的 Broker,然后 Broker 会从已经连接到 Broker 的服务提供者列表中查找能够处理该服务的服务提供者,并将服务请求转发给该服务提供者。当服务提供者处理完服务请求后,再将结果原路返给服务消费者。


中心化 Broker 模式整体流程


无端口监听:Broker 模式则是由服务提供者主动创建到 Broker 的连接,然后复用该连接处理来自 Broker 的服务请求。这种模式下,服务提供者依然可以对外提供服务,但是没有本地端口号的监听。


无网络要求:传统的点对点通信模式要求通信双方网络互通,应用之间能够创建连接并进行通信。而 Broker 介入后,只要通信各方能够连接到 Broker 即可通信。


无底层设施依赖:对基础设施无任何要求,只要有服务器,同时网络能被其他应用触达即可。无论是经典 VM 基础设施、Kubernetes、Cloud Foundry 还是公司自研的 PaaS 系统等,中心化 Broker 模式都支持这些基础设施之间的相互访问。


无服务注册依赖,无负载均衡要求:Broker 本身承担了服务注册的功能,不需要额外的服务注册产品。另外,服务请求全部由 Broker 转发,消费者不需要关心服务在哪里、如何创建连接、如何负载均衡等问题,因为服务是透明的。


简化运维:与管理大量的终端 Envoy 代理不同,中心化 Broker 后,我们只需要管理中心化的几台高性能服务器就可以了。


Broker 确实两个致命问题:无法完全异步化架构和协议适配和单点故障问题


RSocket(网站地址为https://rsocket.io/)是一个异步二进制消息通信协议,该协议采用连接复用技术,在连接复用的基础上支持 4 个通信模型:Request/Response,Request/Stream,Fire-and-Forget,Channel。RSocket 协议的另一个特点是通信双方是对等的,也就是没有传统意义上的 Client/Server 模式


发布于: 刚刚阅读数: 3
用户头像

InfoQ签约作者 2018.11.30 加入

还未添加个人简介

评论

发布
暂无评论
007云原生之Service Mesh(中心化Broker)