- 浏览: 999389 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1441)
- 软件思想&演讲 (9)
- 行业常识 (250)
- 时时疑问 (5)
- java/guava/python/php/ruby/R/scala/groovy (213)
- struct/spring/springmvc (37)
- mybatis/hibernate/JPA (10)
- mysql/oracle/sqlserver/db2/mongdb/redis/neo4j/GreenPlum/Teradata/hsqldb/Derby/sakila (268)
- js/jquery/jqueryUi/jqueryEaseyUI/extjs/angulrJs/react/es6/grunt/zepto/raphael (81)
- ZMQ/RabbitMQ/ActiveMQ/JMS/kafka (17)
- lucene/solr/nuth/elasticsearch/MG4J (167)
- html/css/ionic/nodejs/bootstrap (19)
- Linux/shell/centos (56)
- cvs/svn/git/sourceTree/gradle/ant/maven/mantis/docker/Kubernetes (26)
- sonatype nexus (1)
- tomcat/jetty/netty/jboss (9)
- 工具 (17)
- ETL/SPASS/MATLAB/RapidMiner/weka/kettle/DataX/Kylin (11)
- hadoop/spark/Hbase/Hive/pig/Zookeeper/HAWQ/cloudera/Impala/Oozie (190)
- ios/swift/android (9)
- 机器学习&算法&大数据 (18)
- Mesos是Apache下的开源分布式资源管理框架 (1)
- echarts/d3/highCharts/tableau (1)
- 行业技能图谱 (1)
- 大数据可视化 (2)
- tornado/ansible/twisted (2)
- Nagios/Cacti/Zabbix (0)
- eclipse/intellijIDEA/webstorm (5)
- cvs/svn/git/sourceTree/gradle/jira/bitbucket (4)
- jsp/jsf/flex/ZKoss (0)
- 测试技术 (2)
- splunk/flunm (2)
- 高并发/大数据量 (1)
- freemarker/vector/thymeleaf (1)
- docker/Kubernetes (2)
- dubbo/ESB/dubboX/wso2 (2)
最新评论
http://blog.csdn.net/lfsf802/article/details/38238007
、ZeroMQ的背景介绍
官方: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。”
与其他消息中间件相比,ZMQ并不像是一个传统意义上的消息队列服务器,事实上,它也根本不是一个服务器,它更像是一个底层的网络通讯库,在Socket API之上做了一层封装,将网络通讯、进程通讯和线程通讯抽象为统一的API接口。
二、ZMQ是什么
阅读了ZMQ的Guide文档后,我的理解是,这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。
三、三种模型
a) 应答模式:
使用REQ-REP套接字发送和接受消息是需要遵循一定规律的。客户端首先使用zmq_send()发送消息,再用zmq_recv()接收,如此循环。如果打乱了这个顺序(如连续发送两次)则会报错。类似地,服务端必须先进行接收,后进行发送。
b) 订阅发布模式
PUB-SUB套接字组合是异步的。客户端在一个循环体中使用recv ()接收消息,如果向SUB套接字发送消息则会报错;类似地,服务端可以不断地使用send ()发送消息,但不能再PUB套接字上使用recv ()。
关于PUB-SUB套接字,还有一点需要注意:你无法得知SUB是何时开始接收消息的。就算你先打开了SUB套接字,后打开PUB发送消息,这时SUB还是会丢失一些消息的,因为建立连接是需要一些时间的。很少,但并不是零。解决此问题需要在PUB端加入sleep。
c) 基于分布式处理(管道模式)
这篇博客对ZMQ有一个初步的介绍,下篇博客介绍如何通过JAVA来调用ZMQ实现消息处理。
、ZeroMQ的背景介绍
官方: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。”
与其他消息中间件相比,ZMQ并不像是一个传统意义上的消息队列服务器,事实上,它也根本不是一个服务器,它更像是一个底层的网络通讯库,在Socket API之上做了一层封装,将网络通讯、进程通讯和线程通讯抽象为统一的API接口。
二、ZMQ是什么
阅读了ZMQ的Guide文档后,我的理解是,这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接、销毁连接、选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单。ZMQ用于node与node间的通信,node可以是主机或者是进程。
三、三种模型
a) 应答模式:
使用REQ-REP套接字发送和接受消息是需要遵循一定规律的。客户端首先使用zmq_send()发送消息,再用zmq_recv()接收,如此循环。如果打乱了这个顺序(如连续发送两次)则会报错。类似地,服务端必须先进行接收,后进行发送。
b) 订阅发布模式
PUB-SUB套接字组合是异步的。客户端在一个循环体中使用recv ()接收消息,如果向SUB套接字发送消息则会报错;类似地,服务端可以不断地使用send ()发送消息,但不能再PUB套接字上使用recv ()。
关于PUB-SUB套接字,还有一点需要注意:你无法得知SUB是何时开始接收消息的。就算你先打开了SUB套接字,后打开PUB发送消息,这时SUB还是会丢失一些消息的,因为建立连接是需要一些时间的。很少,但并不是零。解决此问题需要在PUB端加入sleep。
c) 基于分布式处理(管道模式)
这篇博客对ZMQ有一个初步的介绍,下篇博客介绍如何通过JAVA来调用ZMQ实现消息处理。
发表评论
-
ActiveMQ安装与使用
2017-12-11 18:07 758一 .安装运行ActiveMQ: ... -
MQ的使用
2017-12-11 18:18 370安装环境:linux redhat activemq版本 ... -
mq常用命令
2017-12-11 18:20 473创建队列管理器 crtmqm qmgrname 删 ... -
Activemq的端口监听介绍及端口优化
2018-01-07 09:06 540在activemq的conf/activemq.x ... -
ActiveMq启动停止
2017-10-25 10:05 1218Linux操作系统 进入bin目录下,64位操作系统可以进 ... -
RabbitMq、ActiveMq、ZeroMq、kafka之间的比较,资料汇总
2017-07-21 14:21 960MQ框架非常之多,比较流行的有RabbitMq、Active ... -
使用activemq
2017-06-29 14:32 422说说在项目里是怎么使用activemq(简称为amq)进行通 ... -
activeMQ启动失败61616端口被占用问题
2017-03-27 23:19 1626通过netstat -aon | findstr " ... -
Kafka 对比 ActiveMQ
2016-12-13 13:00 1748Kafka 是LinkedIn 开发的一个高性能、分布式的 ... -
ActiveMQ的工作原理
2016-11-14 10:19 678如图所示 首先来看本地通讯的情况,应用程序A和应用程 ... -
Spring整合JMS----基于ActiveMQ的实现
2016-12-27 10:22 3831.1 JMS简介 JMS的全称是Ja ... -
Spring整合JMS的三种监听
2016-12-30 11:47 807在Spring整合JMS的应用中我们在定义消息监听器的时候一共 ... -
Spring整合JMS的MessageConverter
2016-12-30 11:43 435消息转换器MessageConverter Me ... -
Spring整合JMS
2016-12-30 11:44 402Spring提供了一个JmsTransac ... -
ActiveMQ入门
2017-01-01 23:34 4781.下载ActiveMQ 去官方网站下载:http://ac ... -
kafka特点
2015-11-23 02:07 1084一、入门 1、简介 Kafka is a di ...
相关推荐
介绍了ZeroMQ的集中模式包括高级请求-应答模式; 手册目录:ZeroMQ基础、ZeroMQ进阶、高级请求-应答模式、可靠的请求-应答模式、高级发布-订阅模式。 ZMQ(ØMQ、ZeroMQ, 0MQ)看起来像是一套嵌入式的网络链接库,但...
ZMQ被称为史上最快消息队列,它处于会话层之上,应用层之下,使用后台异步线程完成消息的接受和发送,完美的封装了Socket API,大大简化了编程人员的复杂度,被称为史上最...本文仅以JAVA版本的ZMQ API为例,介绍ZMQ。
ZMQ/0MQ/zeroMQ是一个开源的中间件,由于其出色的性能,现在逐渐被越来越多的人们使用。有必要学习和使用!
放在gopath目录下,通过go get下载的资源包中,我本地目录C:\Users\wyy\go\pkg\mod\github.com\pebbe\zmq4@v1.2.7
mql-zmq 适用于MQL语言的ZMQ绑定(32位MT4和64位MT5)介绍这是对MetaTrader4 / 5提供的MQL4 / 5语言的库的完整绑定。 具有编程能力的交易者一直希望像ZeroMQ这样的消息传递解决方案,简单而强大,远胜于官方文章建议...
ØMQ (also seen as ZeroMQ, 0MQ, zmq) looks like an embeddable networking library but acts like a concurrency framework. It gives you sockets that carry atomic messages across various transports like ...
在使用此模块之前,请先对其进行全面介绍。安装npm install --save mt4-zmq-bridge用法const mt4zmqBridge = require ( 'mt4-zmq-bridge' ) ; mt4zmqBridge对象包含多个枚举属性和connect功能。 有关枚举类型,请...
ZeroMQ介绍 ZeroMQ-中文教程 通过C#使用ZeroMQ 三本中文文档
ZeroMQ介绍及相应使用,流行分布式消息机制。
具体的Ratchet的介绍可以看他的官方网站 http://socketo.me/ 在开始实践之前,我们还要进行环境的配置 1 install PHP5.4.x,Apache2.x,Composer 本人使用zend环境。 2 安装ZeroMQ Download the latest ...
主要给大家介绍了关于C#学习教程之Socket的简单使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
MQ、0MQ或ZMQ)是个非常轻量级的开源消息队列软件。它没有独立的服务器,消息直接从一个应用程序被发送到另一个应用程序。ZeroMQ的学习和应用也非常简单,它只有一个 C++编写成的单个库文件libzmq
文章主要介绍了为什么选择DDS,DDS主要优势,DDS与其他物联网技术比较?不同协议的比较。 来自于dds-foundation.org,,由火龙果软件Anna译、推荐。OMG-DDS标准针对需要实时数据通信交换的高性能、高可扩展的工业物联网...
介绍 有句名言叫永远不要凭封面来评判一本书,但是书籍,电影和其他媒体的艺术作品可以帮助客户判断他们是否会对这种媒体感兴趣。 这些艺术品中有很多潜意识的信息传递,这有助于使该媒体看起来很有趣,以便出售更多...
介绍 日期: 2014 年 12 月 13 日 作者: 杰森·E·阿滕博士 接触: 网站: 执照: nanomsgardvark 的 GPL-3。 麻省理工学院的 nanomsg。 目的 nanomsgardvark 是 nanomsg ( ) 的 R 绑定。 nanomsgardvark ...
介绍 刑天(XingTian)是一个组件化的库,用于开发和验证强化学习算法。 它支持多种算法,包括DQN,DDPG,PPO和IMPALA等,可以在多种环境中训练代理,例如Gym,Atari,Torcs,StarCraftII等。 为了满足用户快速验证...
更多介绍,请查阅设计原理PromAnsible能够自动生成监控参数配置提供预定义好的监控图表提供预定义好的报警规则提供基于ansible的安装部署脚本提供基于ansible的,可定制的报警处理脚本示例提供了基于微信的报警功能...
ZMQ是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单、简洁和性能更高。,这篇文章主要介绍了Python 实现 ZeroMQ 的三种基本工作模式,需要的朋友可以参考下
项目介绍 本项目旨在打造一个在线开发和协同编程的算法云平台。采用jupyter和容器来执行用户代码或算法,通过调度和监控将容器分布式部署和运行。 核心概念 项目:用户可以创建项目,支持多人协同开发。 cell:项目...