zmq和ucmq消息队列简述

本文介绍了ZMQ与UCMQ两款消息队列服务,ZMQ提供异步通信模式和多种连接方式,而UCMQ基于HTTP协议,具有高性能和易用性。ZMQ适用于点对点和发布订阅模式,UCMQ则支持标准HTTP协议和多队列管理。文章还探讨了消息队列的基本特性和应用场景,以及UCMQ的性能、数据管理和异常处理策略。

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

ZMQ是什么?
这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。
区别:
  1、zmq套接字是异步的,可以实现特定模式
  2、TCP是一对一,ZeroMQ是多对多的,可以根据套接字类型实现一对多,一对一,多对一,或多对多
  3、ZeroMQ传输消息,TCP传输字节
  4、ZeroMQ 隐藏IO细节,ZeroMQ不在乎目的是否存在
  5、ZeroMQ可以往多个节点发送数据,可以从多个节点接收数据
ZMQ 的 hello world!
  由 Client 发起请求,并等待 Server 回应请求。请求端发送一个简单的 hello,服务端则回应一个 world。请求端和服务端都可以是 1:N 的模型。通常把 1 认为是 Server ,N 认为是 Client 。ZMQ 可以很好的支持路由功能(实现路由功能的组件叫作 Device),把 1:N 扩展为N:M (只需要加入若干路由节点)。使用 ZMQ 写基本的程序的方法,需要注意的是:
  a) 服务端和客户端无论谁先启动,效果是相同的,这点不同于 Socket。
  b) 在服务端收到信息以前,程序是阻塞的,会一直等待客户端连接上来。
  c) 服务端收到信息以后,会 send 一个“World”给客户端。值得注意的是一定是 client 连接上来以后,send 消息给 Server,然后 Server 再 rev 然后响应 client,这种一问一答式的。如果 Server 先 send,client 先 rev 是会报错的。
  d) ZMQ 通信通信单元是消息,他除了知道 Bytes 的大小,他并不关心的消息格式。因此,你可以使用任何你觉得好用的数据格式。Xml、Pr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值