消息队列-ZeroMQ

一、吞吐量和延时性

 

二、ZeroMQ解决传统网络编程的问题

  • 调用的socket接口较多;
  • TCP是一对一的连接;一对多 , reactor模式
  • 编程需要关注很多socket细节问题;
  • 不支持跨平台编程;
  • 需要自行处理分包、组包问题;
  • 流式传输时需处理粘包、半包问题;
  • 需自行处理网络异常,比如连接异常中断、重连等;
  • 服务端和客户端启动有先后;
  • 自行处理IO模型;
  • 自行实现消息的缓存;
  • 自行实现对消息的加密
  • 官方API: http://api.zeromq.org/
  • 中文指南: https://github.com/anjuke/zguide-cn,文档里面的代码有些是过时的,需要参考提供的github链接的代码
  • 英文指南: http://zguide.zeromq.org/page:all
  • 性能测试: http://wiki.zeromq.org/results:perf-howto
  • 中文参考书籍: 《ZeroMQ 云时代极速消息通信库 .pdf》

三、ZeroMQ模型

代码案例

3.1 REQ/REP 请求响应模型

一来一回,同步模式

3.2 PUB/SUB 发布订阅模型

3.3 Push/Pull 推拉模型

可用于并发处理,一个消息只能被一个worker拉到。类似生产者/消费者关系。

3.4 Router/Dealer 模型

中间转发,用于分发,负载均衡

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值