您现在的位置是:首页 >技术杂谈 >通信中间件网站首页技术杂谈

通信中间件

~~Jerry~~ 2023-06-16 00:00:02
简介通信中间件

通信中间件需要解决什么问题

分布式系统中两个不同的系统需要进行通信的时候,使用的是scocket编程,需要直接面对网络中的四层模型,编程时需要确定目标端的详细物理地址。这是非常不方便的。为了解决这个问题,需要通信中间件来屏蔽底层硬件,避免上层应用编程每次都造轮子(from scratch)
在这里插入图片描述

通信中间件rpc

rpc(remote procedure call),有了rpc之后,远程系统的通信像同一个系统内的通信一样方便。nfs(network file system)就是其中的一个例子。
rpc是同步通信,在服务器响应之前,客户端需要已知忙等
在这里插入图片描述

分布式对象

分布式对象的思想起源于面向对象编程,分布式对象将原来本地的对象调用转为远程对象调用。
分布式对象技术用orb(object request broker)(对象请求代理)来实现,corba是一个典型的例子,它支持很多平台(java c++都支持),所以应用非常广泛。
在这里插入图片描述

MOM(message oriented middleware)

在这里插入图片描述
rpc采用的通信是同步通信,接收方必须在接收到消息之前阻塞等待。
为了解决效率问题,采用mom(面向消息中间件),这里采用了一个中间服务器,我们称它为邮箱服务器,发送方发送的消息存储在邮箱服务器中,当接收方上线的时候可以选择接受消息,这和我们qq邮箱非常相似。
mom采用了消息队列message queue的方法,message就类似于邮箱服务中的消息,queue就类似于邮箱服务中的邮箱服务器。通过mom可以实现一对一和多对多的通信。
分类:

  • point to point:类似于email
  • publisher-subscriber:用户可以订阅topic,只要订阅了topic的subscriber都可以收到消息,类似于youtube
    在这里插入图片描述

hyperlink

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。