ZMQ/ZeroMQ简介

简介: ZMQ/ZeroMQ简介

ZMQ/ZeroMQ简介


1、什么是ZMQ

       ZeroMQ(也称为ÖMQ、0MQ或zmq)看起来像是一个可嵌入的网络库,但它的作用类似于一个并发框架。它为您提供了在进程内、进程间、TCP和多播等各种传输中传递原子消息的套接字。您可以使用扇出、发布订阅、任务分发和请求回复等模式将套接字N到N连接起来。它的速度足以成为集群产品的结构。它的异步I/O模型为您提供了可扩展的多核应用程序,构建为异步消息处理任务。它有许多语言API,并在大多数操作系统上运行。

       ZeroMQ(也拼写为ÖMQ、0MQ或ZMQ)是一个高性能异步消息传递库,旨在用于分布式或并发应用程序。它提供了一个消息队列,但与面向消息的中间件不同,ZeroMQ系统可以在没有专用消息代理的情况下运行。

       ZeroMQ支持多种传输(TCP、进程内、进程间、多播、WebSocket等)上的通用消息传递模式(发布/订阅、请求/回复、客户端/服务器等),使进程间消息传递与线程间消息传递一样简单。这使您的代码保持清晰、模块化和极易扩展。

       ZeroMQ是由大量贡献者开发的。有许多流行编程语言的第三方绑定,以及C#和Java的本机端口。

2、ZMQ的特点

       1、 组件来去自如,ZQM会负责自动重连,服务端和客户端可以随意的退出网络。tcp的话,必须现有服务端启动,在启动客户端,否则会报错。

       2、ZMQ会在必要的情况下将消息放入队列中保存,一旦建立了连接就开始发送。

       3、ZMQ有阈值机制,当队列满的时候,可以自动阻塞发送者,或者丢弃部分消息。

       4、ZMQ可以使用不同的通信协议进行连接,TCP,进程间,线程间。

       5、ZMQ提供了多种模式进行消息路由,如请求-应答模式,发布-订阅模式等,这些模式可以用来搭建网络拓扑结构。

       6、ZMQ会在后台线程异步的处理I/O操作,他使用一种不会死锁的数据结构来存储消息。同时ZeroMQ不在乎目的是否存在。

       7、TCP的通信拓扑是一对一的,而ZMQ可以是一对一、一对多、多对一或者多对多。

       8、ZeroMQ传输的是消息,TCP传输字节。

相关文章
|
消息中间件 负载均衡 流计算
gRPC ZeroMQ (ZMQ) D-Bus SOME/IP 通讯方式的比较
gRPC ZeroMQ (ZMQ) D-Bus SOME/IP 通讯方式的比较
752 3
|
Java API Android开发
DDS、FastDDS、OpenDDS扫盲
DDS、FastDDS、OpenDDS扫盲
2574 0
|
消息中间件 监控 负载均衡
ZeroMQ综合指南
ZeroMQ综合指南
2734 0
|
10月前
|
机器学习/深度学习 人工智能 算法
【AI系统】AI 系统与程序代码关系
本文探讨了AI系统与程序代码之间的关系,通过PyTorch实现LeNet5神经网络模型为例,详细介绍了AI训练流程原理、网络模型构建方法、算子实现的系统问题以及AI系统执行的具体计算过程。文章不仅解释了神经网络的前向传播和反向传播机制,还深入分析了算子在AI框架中的作用及其底层实现,包括卷积层的具体计算和优化问题。此外,文章对比了使用PyTorch与直接使用cuDNN+CUDA编程实现神经网络模型的差异,强调了AI框架在提高开发效率、自动化内存管理和实现自动微分等方面的重要性。
144 1
|
消息中间件 存储 监控
【ZeroMQ的SUB视角】深入探讨订阅者模式、C++编程实践与底层机制
【ZeroMQ的SUB视角】深入探讨订阅者模式、C++编程实践与底层机制
1347 1
|
JavaScript
升级echarts v5.0以后vue项目报错“export ‘default‘ (imported as ‘echarts‘) was not found in ‘echarts‘
升级echarts v5.0以后vue项目报错“export ‘default‘ (imported as ‘echarts‘) was not found in ‘echarts‘
|
运维 API Apache
《Saltstack:自动化运维的瑞士军刀,让IT管理变得简单而强大》
【8月更文挑战第13天】面对服务器数量激增和网络复杂化,传统手动运维已难以应对。自动化运维工具Saltstack(简称Salt),基于Python开源,采用C/S架构,由Master和Minion构成,实现任务分发与执行。Salt具备配置管理、远程执行及云管理等功能。通过声明式状态文件,可确保系统符合预期配置;远程执行简化批量任务处理;集成云服务API实现资源动态管理。Salt以高效灵活的方式助力IT基础设施管理,成为现代运维不可或缺的利器。
268 1
|
存储 NoSQL 安全
深入Linux Core文件生成与自定义命名规则
深入Linux Core文件生成与自定义命名规则
310 2
|
存储 缓存 负载均衡
图解一致性哈希算法,看这一篇就够了!
近段时间一直在总结分布式系统架构常见的算法。前面我们介绍过布隆过滤器算法。接下来介绍一个非常重要、也非常实用的算法:一致性哈希算法。通过介绍一致性哈希算法的原理并给出了一种实现和实际运用的案例,带大家真正理解一致性哈希算法。
23610 64
图解一致性哈希算法,看这一篇就够了!