首页 > 过度封装的ZeroMQ

过度封装的ZeroMQ

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

不知道ZeroMQ是什么,自行baidu

zmq网上宣传很牛B,史上最快消息队列,是不是最快我不知道,但其过度封装,让它在很多场合失去了可用性

下面我将一一列举zmq自认为强大的优点

优点1:zmq将所有连接整合到一个context对象中,客户处理成千上万个连接时,只需要创建1个对象,不再需要维护大量的socket对象。

    好棒,但是请告诉我

    1.如何判断消息来至于哪个连接

    2.如何操作某个特定的连接,比如断开某个连接,从特定连接接收消息

 

优点2:zmq将分布式网络总结为4大模型,比如REQ/REP模型,zmq帮你解决了业务的序列化问题,你只要选择创建对应模型的socket就可以保证先请求的,先回应

      虽然业务的序列化,对程序员来说只是轻而易举的个小事情,不过我还是要夸奖你为用户考虑的真周到,

      但是请告诉我

      1.如何让不同连接(业务)并发请求,因为我绝对不会在不同连接上进行序列化操作,如果业务要求两个连接需要序列化,我一定会把它们合并成1个连接,不要给我一棵树,却要求我放弃一片森林啊。

     

优点3:zmq封状了连接重连机制,用户不再关心网络异常,只要对端异常恢复了,zmq就保证连接是可用的。

      但是请告诉我

      1.如何知道连接状态,以适时退出无效连接上的recv等待

      2.pub/sub模式下,如果对端崩溃,如何知道什么时候恢复连接,以确保publish消息到达,当然我知道设置ID可以,但是发送缓冲会满,如果对端一直不重启,内存和硬盘会被吃光

      3.Req/Rep模式下,如果rep端recv后崩溃,req端如何解除send缩定



zmq诸多弊端的罪魁祸首,总结为一句话就是:将多状态整合成了一状态

转载于:https://my.oschina.net/u/732357/blog/78137

更多相关:

  • 文章目录搭建实验平台使用Unity的准备工作在PC端安装连接Hololens软件Hololens设置开始连接吧绘制显示PC端网页监控...

  •  将多次卷积和池化后的图像展开进行全连接,如下图所示。  全连接层需要把输入拉成一个列项向量          比如你的输入的feature map是2X2,那么就需要把这个feature map 拉成4X1的列向量,如果你的feature map 的channels是3,也就是你的输入是3X2X2,也就是相当于有了12个像素点,...

  •   注意,前情提示: 本代码基于《Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)》 传送门Node.js(nodejs)对本地JSON文件进行增、删、改、查操作(轻车熟路)_你挚爱的强哥❤给你发来1条消息❤-CSDN博客 首先安装 cnpm i nodejs-websocket 在/a...

  • Ubuntu 配置自带桌面共享 1、在setting>>shareing>>remote 选择on 如果用ubunutu直接远程连接的话已经可以了, 2、在ubuntu下使用系统自带的remmina连接 vnc类型 直接输入ip地址 3、如果在windows下面连接的话需要把加密选项关闭 内容: 安装dconf-edito...

  • 第四节 RabbitMQ在C#端的应用-客户端连接 原文:第四节 RabbitMQ在C#端的应用-客户端连接 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/87357911 1.在VS2013中新建控制台程序,然后添加引用:.NE...

  • 成为Blender通才,通过这个基于项目的循序渐进课程学习所有主题的基础知识。 你会学到什么 教程获取:Blender 3.0基础入门学习教程 Introduction to Blender 3.0-云桥网 模拟一架基本喷气式飞机 雕刻高细节 重组学 展开UV 绘画和阴影 使喷射动画化 制造天空和云 渲染动画 持续时间19h...

  • 从零开始构建能力体系   你会学到什么 如何实施能力体系 如何使用用户界面工具包创建用户界面 如何使用Unity的GraphView API 如何实现保存系统 MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确)云桥网络 |时长:42节课(5...

  • MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:72节课(22小时9m) |大小解压后:22 GB 含课程项目素材 ~在Blender中为动画装配汽车、卡车、轨道和翅膀~ 你会学到: 如何使用内置工具在Blender内装配车辆...

  • MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:30节课(7h 42m) |大小:5 GB 含项目文件 沿着曲线、高程图和数据结构移动对象 你会学到: Unity,C#,创建级别映射 要求 你可以从头开始 课程获取:Uni...

  • Unreal Engine 4: Create Your Own First-Person Shooter MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:38节课(9h 56m) |大小解压后:6.8 GB 学习游戏中的基本...