美文网首页
分布式基础设施/中间件常见的3种通信风格

分布式基础设施/中间件常见的3种通信风格

作者: Dakini_Wind | 来源:发表于2021-08-08 17:17 被阅读0次

    0x01 介绍

    中间件基本遵循了以下3种不同的通信风格种的一种或多种:

    • Messaging(消息传递)模式
      在不同的服务间通过交换消息来相互作用。
    • Publisher-Subscriber(发布者-订阅者)模式
      不同的服务和组件间通过一对多的关系异步地交换事件来相互作用。
    • Broker(经纪人)模式
      应用可以通过发送消息访问远程的服务。
      (或:不同的组件间通过远程方法调用来相互作用。)

    0x02 区别

    Broker:客户端可以调用托管在服务器上的远程组件对象的远程方法。隐藏掉网络的存在。
    Messaging:实现多对一的通信方式,不需要静态的去预定义接口(接口会导致客户端对服务的依赖)。降低了耦合度、放宽了对类型的限制。客户端动态地把固定类型地消息发送给特定的远程服务,而不必须发给特定的方法。
    Publisher-Subscriber:Publisher与Subscriber以一对多的方式交换事件,他们不关心也不知道对方。进一步解除应用组件之间的耦合。

    模式 通信方式 通信关系 组件依赖性
    Broker 远程方法调用 一对一 组件接口
    Messaging 消息 多对一 通信终端地消息格式
    Publisher-Subcriber 事件 一对多 事件格式

    0x03 Messaging下细粒度的模式

    基于Messaging模式的中间件可以细分为下面4种分布式基础架构模式。
    Message Channel(信道)模式:可以连接不同的应用服务,这些服务之间通过交换消息进行交互。一个服务将消息写入到通道中,另一个服务从通道中读取信息。
    Message Router(消息路由)模式:要求一个客户端根据不同的条件集,向应用的其他服务发送消息。
    Message Translator(消息转化器)模式:支持将消息转换为另一种形式。
    Message Endpoint(消息端点)模式:可以通过封装和实现必要的适配代码,从而帮助应用服务与消息基础设置进行连接。

    0x04 Broker下细粒度的模式

    Broker中间件的职责可以分解为下面的5种分布式基础设施模式。
    Client Proxy(客户端代理)模式:为客户端提供了一个本地接口,用于与远程组件进行交互。客户端能够以一种与位置无关的方式访问远程组件,使得远程组件看起来是与本地组件在一起的。
    Requestor(请求者)模式:封装了客户端远程通信的各种细节,比如封送、通过网络发送请求、允许客户以位置无关的方式访问远程组件。
    Client Request Handler(客户端请求处理程序)模式:封装了客户端在同一的接口背后进行的进程间的通信的细节。
    Server Request Handler(服务器请求处理程序)模式:封装了服务端在同一的接口背后进行的进程间通信的细节。
    Invoker(调用者)模式:可以在服务器组件收到来自远程客户端的请求时,替服务器组件屏蔽掉与网络相关的问题,比如请求的接受、解封送、分派请求。

    相关文章

      网友评论

          本文标题:分布式基础设施/中间件常见的3种通信风格

          本文链接:https://www.haomeiwen.com/subject/xjsovltx.html