美文网首页
分布式基础设施/中间件常见的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(调用者)模式:可以在服务器组件收到来自远程客户端的请求时,替服务器组件屏蔽掉与网络相关的问题,比如请求的接受、解封送、分派请求。

相关文章

  • 读书笔记:MIT 6.824

    分布式的基础设施: 存储 常见的HDFS 通信 计算 常见的如MapReduce 实现上: RPC 线程 并发控制...

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

    0x01 介绍 中间件基本遵循了以下3种不同的通信风格种的一种或多种: Messaging(消息传递)模式在不同的...

  • JAVA名词汇

    1、Java中间件,分布式系统、分布式缓存、消息队列 JAVA中间件:包括服务框架中间件:解决集群间的访问通信问题...

  • Java服务器中间件学习路线图(黑马程序员自学就业班)

    在分布式系统架构中,服务与服务之间的异步通信,是非常常见的需求之一,消息中间件的诞生正是为了解决这类问题。目前市面...

  • SpringBoot整合RocketMQ

    消息中间件 什么是消息中间件 消息中间件:是利用高效可靠的消息传递机制进行异步的数据传输,并基于数据通信进行分布式...

  • 基于NATS实现分布式通信模式

    在分布式应用中经常需要实现服务间的通信,本文我们使用NATS消息中间件来实现服务间的不同通信方式。 准备工作 首先...

  • 消息中间件

    消息中间件 分布式消息中间件设计 是什么利用高效可靠的消息传递机制进行平台无关的数据交流;并基于数据通信来进行分布...

  • 消息中间件简介

    消息中间件 消息中间件是指利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。...

  • Redis系列(三)—— Redis和消息中间件

    什么是消息中间件 先看百科:消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式...

  • (2)消息中间件的初始认识和安装

    1.什么是消息中间件 消息中间件是值利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系...

网友评论

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

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