`

ZeroMQ的学习和研究

 
阅读更多
http://zeromq.org/distro:centos
http://zeromq.org/bindings:java

zeromq 安装 http://youzifei.iteye.com/blog/1698237
centos安装zeromq, jzmq http://www.cnblogs.com/literoad/archive/2013/03/15/2961035.html

ZeroMQ的学习和研究 http://www.searchtb.com/2012/08/zeromq-primer.html
JZMQ(ZeroMQ for Java binding)尝试 http://blog.hongtium.com/zeromq-for-java-binding/
Java 使用ZeroMQ 2.2 进行通信编程 http://www.cnblogs.com/sigh-differ/archive/2012/11/12/zmq-first-blood.html
用java调用zeromq http://kisseveryone.iteye.com/blog/1728187
ZeroMQ 初学 Java Binding验证代码 http://www.coderli.com/zeromq-jzmq-javabind-demo
ZeroMQ--使用jzmq进行编程 http://my.oschina.net/cloudcoder/blog/200989



一、ZeroMQ的背景介绍
引用官方的说法: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。”

近几年有关”Message Queue”的项目层出不穷,知名的就有十几种,这主要是因为后摩尔定律时代,分布式处理逐渐成为主流,业界需要一套标准来解决分布式计算环境中节点之间的消息通信。几年的竞争下来,Apache基金会旗下的符合AMQP/1.0标准的RabbitMQ已经得到了广泛的认可,成为领先的MQ项目。

与RabbitMQ相比,ZMQ并不像是一个传统意义上的消息队列服务器,事实上,它也根本不是一个服务器,它更像是一个底层的网络通讯库,在Socket API之上做了一层封装,将网络通讯、进程通讯和线程通讯抽象为统一的API接口。

二、ZMQ是什么?
阅读了ZMQ的Guide文档后,我的理解是,这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。
分享到:
评论

相关推荐

    zeromq_java.rar_java zeromq_libzmq.lib _zeromq_zeromq java

    通过研究这些示例,开发者可以了解如何在实际项目中集成ZeroMQ,以实现高效的数据交换和任务协调。 总之,Java ZeroMQ提供了强大的消息处理能力,适用于构建分布式系统、微服务架构等复杂环境。通过深入学习和实践...

    zeromq-4.0.3.tar

    总之,`zeromq-4.0.3.tar`是一个重要的网络编程资源,包含了ZeroMQ库的源代码,通过深入研究和实践,开发者可以掌握这一高效的消息传递机制,并将其应用于各种分布式系统、微服务架构和物联网(IoT)项目中。

    zeroMQ实例

    ZeroMQ,也被称为0MQ或zmq,...通过深入研究"zeroMqTest"中的源码实例,你可以更好地理解ZeroMQ的工作原理,学习如何在实际项目中利用它的强大功能。这将有助于你在分布式系统设计和开发中实现更高效、可靠的通信机制。

    zeromq4-1-master.zip

    如果你打算深入研究ZeroMQ,首先需要了解其基本概念和通信模式,然后学习如何在你的编程语言中使用其API。通过阅读源代码和示例,你可以进一步理解它的实现细节和优化技巧。此外,熟悉如何配置和调整ZMQ,以及如何在...

    ZeroMQ 云时代极速消息通信库带书签

    请潜心研究ØMQ(又名ZeroMQ)这个智能套接字库,它让你的应用程序能够获得快速、简便、基于消息的并发性。有了这本快节奏的指南,你将在实践中学习如何使用这个可扩展、轻量级且高度灵活的网络工具,从而在集群、...

    Pure Java ZeroMQ .zip

    2. **查看源码**:打开"jeromq-master",研究项目结构,了解类库的设计和实现。 3. **编译和测试**:根据项目文档,使用Maven或Gradle等构建工具编译源码,并运行单元测试确保其正常工作。 4. **集成到项目**:将...

    ZeroMQ 雲時代急速消息通訊庫

    请潜心研究ZeroMQ这个智能套接字库,它让你的应用程序能够获得快速、简便、基于消息的并发性。有了这本快节奏的指南,你将在实践中学习如何使用这个可扩展、轻量级且高度灵活的网络工具,从而在集群、云服务端等各种...

    zeromq的request-reply问答模式的jave实现

    通过运行这个项目,你可以学习如何在Java中设置zeromq的request-reply模式,理解socket的创建、连接、绑定以及消息的发送和接收。此外,你还可以研究如何在Eclipse环境下配置maven项目,以及如何使用maven构建和运行...

    zero-mq源码 (xxxxxx)

    ZeroMQ,也称为0MQ或zmq,是一个开源的消息中间件库,它为开发者提供了一种高度灵活且高性能...通过研究"zeromq-4.0.5"的源代码,开发者可以学习到如何实现这样的高性能通信框架,并从中获取灵感来解决自己的项目挑战。

    Python-用于大规模机器人研究的分布式机器学习基础设施

    "Python-用于大规模机器人研究的分布式机器学习基础设施"这一主题,揭示了如何利用Python及其相关的库和框架来设计和实现能够处理海量数据、支持多机器人协同学习的系统。 首先,分布式机器学习是机器学习的一个...

    Zero制作 的聊天工具

    标题 "Zero制作的聊天工具" 描述了一个使用ZEROMQ库在C#环境中构建的简单聊天应用。这个工具允许用户通过输入对方的...在提供的压缩包文件"TextZeroMQText可用"中,可能包含了源代码、文档或示例,供进一步研究和参考。

    fabric3-ftp-spi-1.9.6.zip

    开发者可以从这个源代码中编译和构建Jeromq,或者研究其内部实现,以便更好地利用ZeroMQ的功能。 结合以上信息,我们可以了解到: 1. **Fabric3 FTP SPI**: Fabric3框架通过FTP SPI允许开发者灵活地集成FTP服务,...

    aziomq4-x:为 zeromq 4.x 提升 Asio 绑定

    如果用户下载了这个压缩包,他们将能够查看和编译源代码,尽管由于库已被弃用,这可能需要一些额外的研究和适配来使其在当前环境中正常工作。 总的来说,aziomq4-x是一个用于ZeroMQ 4.x的Asio绑定库,但已被弃用并...

    委托学习 异步 示例源码 .rar

    委托学习是一种机器学习...通过研究这些源码,你可以深入理解异步委托学习的工作原理,学习如何在实际项目中应用这一技术,以及如何优化分布式学习系统的性能。这将对提升你在机器学习和分布式计算领域的技能大有裨益。

    Python中常见的网络RPC研究和比较.zip

    本资料“Python中常见的网络RPC研究和比较”深入探讨了几种主流的Python RPC库,帮助我们理解它们的工作原理、优缺点以及适用场景。 首先,让我们了解RPC的基本概念。RPC允许一个进程(客户端)通过调用API来请求另...

    基于Python开发的分布式深度学习任务管理系统.zip

    在IT行业中,Python语言因其简洁明了的语法和丰富的库支持而被广泛应用于各种领域,特别是在数据科学、机器学习和深度学习中。本项目“基于Python开发的分布式深度学习任务管理系统”显然旨在解决大规模深度学习任务...

    libzmq-test

    在深入研究"libzmq-test"之前,确保你有一个适当的开发环境,包括ZeroMQ库和对应的编程语言绑定。例如,如果你是用Python,你需要安装pyzmq库。然后,你可以通过运行"libzmq-test"来查看和学习各个测试用例,理解...

    jeromq-master.zip

    标题“jeromq-master.zip”指的是一个包含Java实现的libzmq源代码的压缩包,名为"jeromq-master"。...开发者可以通过研究源码,学习ZeroMQ的工作原理,以及如何在Java项目中有效地使用消息队列技术。

    NNG 参考手册第二版英文原版 PDF

    NNG是通信库领域的最新发展,它建立在ZeroMQ和nanomsg的基础上,旨在提供一个轻量级、高效且易于使用的接口,用于实现消息传递和网络协议。以下是关于NNG、nanomsg和ZeroMQ的关键知识点: 1. **NNG**:NNG是通信库...

    Load-Balancer:使用 zeromq 作为 MOM 的 NodeJS 负载均衡器实现

    通过深入研究这些文件,我们可以了解NodeJS与zeromq结合实现负载均衡器的具体实现细节,包括如何设置zeromq连接,如何检测服务器负载,以及如何实现动态配置等。对于开发者来说,这是一个学习如何构建分布式系统和...

Global site tag (gtag.js) - Google Analytics