消息队列库——ZeroMQ

      最后更新:2022-05-14 09:58:04 手机定位技术交流文章

      ZeroMQ(Abbrated ZMQ)是一个多常规网络框架,其基础是信息队列,其中摘述了类型、连接处理、框架、甚至路线的基本特征,并可以合成多个传输协议。

      ZMQ是一个可缩放的层,可在应用和传输水平(基于TCP/IP)之间的网络通信中平行和跨分散的系统运行。

      ZMQ 是一个嵌入式库, 包括网络连接、 信息队列、 线条排程等, 并向更高层次提供简单的 API 。 程序使用 API 函数通过导入一个库文件执行高性能网络互动 。

      I/O 线和主线:

      ZMQ 根据用户援引 zmq_init 函数时给出的参数构建相应的 I/O 线数。 每条 I/ O 线用传统的反应堆模式与 Poller 捆绑。

      Poller 使用许多网络 I/O 模型( 选择、 民意测验、 民意测验、 Devpoll 、 kequeue 等 ) 。 根据不同的操作系统平台, 所有 I/ O 活动都是对立的, 线条没有停止 。

      邮件框用于在主线和 I/O 线之间进行通信。

      服务器在主线上生成zmq_ listener, 以邮件箱信息的形式将其链接到 I/ O 线上, 并将zmq_ listener 添加到 Poller 以收听事件 。

      客户端, 在主线上创建 zmq_ 连接器, 通过邮件箱将它与 I/ O 连接, 并将 zmq_ 连接器添加到 Poller, 用于收听和写入事件 。

      客户端最初通过发送身份, 使用 zmq_ init 进行验证, 与 Server 交谈 。 一旦验证完成, 双方将构建连接会, 之后由双方通过会话进行沟通 。

      每期课程都与适当的阅读/书写渠道相关联。主线的讯息只从管道独立读写数据 。会话不与 Kernel 共享 I/O 数据 。相反, I/O 数据会通过会话插件中的 Engineering 与内核通信。

      2.3消息模型

      零MQ将信息分为四种类型。一对一(例外付费)、请求答复(请求回复)、出版订阅(公共订阅)和Push-Pull(Push-Pull)是模型。四个模式总结了网络通信的共同模式。实际上,它可以根据申请的具体要求量身定制。为了创造自己的解决办法,将两种或两种以上模式结合起来。

      二、三、一对一模型

      TCP 连接是最简单的 1: 1 信息通信架构, 但 TCP 服务器只能接受一个连接 。 数据可以双向流动, 与随后的请求- 响应模型比对相异, 与随后的请求- 响应模型比对是最简单的 1: 1 信息通信架构, 然而 TCP 服务器只能接受一个连接 。 数据可以双向流动, 与随后的请求- 响应模式不同 。

      二.三.2 请求答复模式

      由请求端发起请求,然后等待回应。必须满足请求。从请求的角度来说,对送货和取货的配对。从回复结束的角度来看, 它的发送和发送。一对对一对对一对对一对对一对对的区别在于,请求可能为1-N。这种方法主要用于遥远的电话和工作代表团。这个旧模式用于回声服务。

      图3请求回应模型

      出版订阅模式二. 三.3

      以统一格式提供数据,并且不关心是否所有信件都发送给订阅者。如果该出版物开始披露信息,无法关闭临时文件夹:%s。这些资料将全文播出。无法关闭临时文件夹:%s。为此,可将对请求的反应模式结合起来。订阅端只负责接收,而不能反馈,如果用户消费慢于出版商消费,则不足。用户端上的数据收集该模型主要用于分发数据。这种经典方法可用于天气预报、微博明星和球迷。

      图4发布订阅模型

      2.3.4 推拉和拉拉模型

      {fn方正粗倩简体fs12an81cHFF00b0}服务员扮演推子的角色和Pullend作为客户端,如果同时多个 Clitenend 连接到服务器端,服务器将进行内部负载平衡 。采用均衡分配方法,以相同的顺序将所有信息发送到 Clitend 结尾 。与订阅模式的出版相比,在没有客户的情况下,可以采用推拉模式。新闻不会被吸收;如果消费能力不足,它可以为多种消费的平行消费提供解决办法。这种模式大多用于平行的多任务工作。

      图5 推拉模型

      2.4通信协议

      提供四项通信协议:内部、过程之间、机器之间、无线电之间等等。通信协议配置简单,接受像 URL 这样的字符串,表格是proc://,ipc://,tcp://和pgm://。零MQ 根据所提供的字符串自动理解协议、地址、端口号等。

      3  工作流程

      图6 基本流程

      4  性能分析

      目前,市场上有几种可比商品。MSMQ(微软产品)、PerentMQ(贾瓦)、RabitMQ(埃尔朗)和ZeroMQ(C++)是四种主要类型。除ZeroMQ外,其余3项货物是独立的服务或流程。它们必须独立安装和运行。对环境也有一些依赖。其中,MSMQ极难安装在非窗口系统上。MQ要求将 Java 安装在目的地PC 上。LabbitMQ 需要一个 Erlang 环境 。零MQ作为图书馆提供。它足以装载和启动程序。另一方面,零MQ仅仅提供了一份非持久性信息的清单。

      图7显示了因特网性能测试数据。显示每秒发送和接收的电文数 。这一技术产生了100万千瓦的信息。Windows Vista 是测试环境。正如测试结果所证明的那样,零MQ的性能大大超过其他三个MQ。

      然而,由于缺乏所需的环境特征和绩效指标,如CPU参数、内存参数、信息模型、通信协议、临界点的CPU%消费、临界点的NAM%消费等等,测试结果仅出于信息原因才提供。

      图7性能测试

      5  应用场景

      在“热插件”、“负载平衡”和“联合国运动会”服务器上发送信息时,这个故事是我们对2011年埃及抗议的特别报导的一部分。推力作为网关。作为一组赌博服务器顶端的代理服务器,起负载均衡的作用,给所有赌徒加油当普威船收到请求时Pushend使用分配技术向Pullend(Gameserver)传输任务。“A”游戏是美国A游戏的一个例子。游戏A刚上线时,估计同时上网人数最多的是10W人。单一个有1W处理能力的赌博服务器。我们需要10个赌徒因为A游戏真的很好玩6个月后,大多数在线个人同时增加到50瓦。因此,没有必要在清晨关闭Gateway和Gamerserver。只要同时在引擎室 增加40个新的赌徒开始连接到网关

      在零MQ,客户和服务器的启动顺序没有必要,如果需要Gamerserver和零MQ之间的通信,Gamerserver程序不需要保存这些信息。

      图8应用场景

      6  总结

      6.1简单

      • 1. 与BSDS Socket类似,只有24个API接口。
      • 2. 网络中的异常现象,例如异常中断连接、重新连接等等,已经得到解决。
      • 3. 修改TCP以字节为基础的接收和传输数据的方法,处理粘糊袋、半袋等,发送和接收 msg 数据,连同《议定书》缓冲,可完全堵塞应用层的网络通信层。
      • 4. SENDMORE/RECVMORE提供大型数据分包和销售技术。
      • 5. 有几条线索是“脱锁线”,保证数据不同时由不止一条线索保存。
      • 6. 利用高重水水位进行交通控制,将全部门办法转换为存储存储存储数据,以弥补损失的重水流数据中的缺陷。
      • 7. 服务器和客户端启动时间不是相继的。

      6.2灵活

      • 支持范围广泛的通信协议,使之适应广泛的通信环境,如进程内、进程间、机器间和广播。
      • 2. 支持可合并的多信息模式,以创建自定义解决方案。

      6.3跨平台

      • 1. 支持Linux、Windows、OS X和更多操作系统

      6.4多语言

      • 可以连接C、C++、Java、30多种编程语言、NET、Python等等。

      6.5高性能

      • 1. 与类似产品相比业绩良好。

      在博客上,零MQ详述了越南的宇宙。这是我们对2011年埃及抗议的特别报道的一部分。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/24816.html

          热门文章

          文章分类