通信中间件

通信中间件旨在解决分布式系统中不同组件间的通信难题,如RPC提供同步远程调用,简化编程复杂性;分布式对象利用ORB实现跨平台的远程对象调用;MOM如消息队列则优化效率,支持异步通信,允许点对点或发布/订阅模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

分布式系统中两个不同的系统需要进行通信的时候,使用的是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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

steven~~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值