消息队列ZeroMq的安装和调试

最近几天,开发到进程间通信,找来找去,感觉最合适的还是消息队列,下面是有关消息队列zeromq的安装调试方法.

一、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 可以是主机或者是进程。

三、本文的目的

  在集群对外提供服务的过程中,我们有很多的配置,需要根据需要随时更新,那么这个信息如果推动到各个节点?并且保证信息的一致性和可靠性?本文在介绍 ZMQ 基本理论的基础上,试图使用 ZMQ 实现一个配置分发中心。从一个节点,将信息无误的分发到各个服务器节点上,并保证信息正确性和一致性。

另外,做为SCADA系统下发控制和配置的缓冲区,较好实现SCADA的功能,完成开发任务.

四、ZMQ 的三个基本模型

  ZMQ 提供了三个基本的通信模型,分别是“Request-Reply “,”Publisher-Subscriber“,”Parallel Pipeline”,我们从这三种模式一窥 ZMQ 的究竟.

、安装方法

5.1 安装依赖库

//最新的开发库依赖这个库
sudo apt-get install libsodium*

5.2 编译安装

zeromq下载

./configure
make -j4
make install

5.3 安装路径:

头文件:/usr/local/include

库文件:/usr/local/lib

可在相关开发环境中包含.便可使用.

时间: 2024-10-12 09:47:43

消息队列ZeroMq的安装和调试的相关文章

消息队列 - mac上安装RabbitMq (转)

什么是RabbitMQ? RabbitMQ是由Erlang语言编写的实现了高级消息队列协议(AMQP)的开源消息代理软件(也称为面向消息的中间件).支持WIndows.Linux.MAC OS 操作系统和包括java..net在内的多种编程语言. AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,分面向消息的中间件设计.基于此协议的客户端与消息中间件可传递消息,并不受 客户端/中间件 不同

php 消息队列 rabbitmq 的安装使用

今天尝试安装了 rabbitmq ,用作php 的消息队列,下面是具体的步骤 首先呢,需要在github 下载这个包,我这里用的是 v0.5.2 版本的 rabbitmq v0.5.2 接下来,通过 使用 .sh脚本,进行安装 1 #切换目录到 rabbittmq-c ,更改文件属性 2 chmod -a+x travis.sh 3 4 #初始化 5 ./travis.sh autotools 6 7 #安装 8 ./travis.sh cmake 再然后,使用 pecl 安装php 的 amq

MSMQ创建消息队列出现“工作组安装计算机不支持该操作”

[sceislqzw]:你在创建公有队列,而你的机器不属于任何域.一般工作组安装的计算机只能创建私有队列. System.Messaging.MessageQueue QueueReceive = new System.Messaging.MessageQueue(@".\Private$\MSMQDemo");这样应该不会出错. [erdgzw]:创建专用队列当然可以.难到创建公有队列必须要在域上啊? [flyaqiao]:if (MessageQueue.Exists(path))

消息队列之ActiveMQ安装配置

简述:ActiveMQ是由Apache出品的,一款最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,它非常快速,支持多种语言的客户端和协议,而且可以非常容易的嵌入到企业的应用环境中,并有许多高级功能. 一.安装ActiveMQ 1.下载ActiveMQ 官方网站:http://activemq.apache.org/activemq-5122-release.html 2.安装JDK7,参考(http://ljoh

开源消息队列系统 rabbitmq-server 安装详细

公司开发的公有云环境需要用到 rabbitMQ,但是在公司的安装手册里并没有关于该软件的安装方法,只给了一个 rabbitMQ 官网的链接.当哥看到这个链接满面的"黑线",这是在考验哥的智商吗?哥不得不吐槽一下,公司的安装文档实在是太烂了,你既然用这软件为什么不能写个安装文档,哥真的是无语... 回到正题,rabbitMQ 是做什么用的,还请大家去问"度娘",这里不做详细说明.rabbitMQ是用erlang 语言开发.首先,我们需要安装 erlang,在安装erl

【转】MSMQ消息队列安装

一.Windows 7安装.管理消息队列1.安装消息队列   执行用户必须要有本地 Administrators 组中的成员身份,或等效身份.   具体步骤:    开始—>控制面板—>程序—>程序和功能—>打开或关闭Windows功能—>依次展开Microsoft Message Queue (MSMQ) 服务器.Microsoft Message Queue (MSMQ) 服务器核心—>确定   如果系统提示您重新启动计算机,请单击“确定”以完成安装.2.管理消息队

2.OpenStack-安装消息队列服务

安装消息队列服务(安装在控制器上) yum install rabbitmq-server -y systemctl start mariadb.service 配置消息队列服务 systemctl enable rabbitmq-server.service systemctl restart rabbitmq-server.service 修改密码 rabbitmqctl change_password guest Abcd1234 Creating user "openstack"

Centos zeromq 消息队列 安装

一,什么是zeromq 这是个类似于Socket的一系列接口,他跟Socket的区别是:普通的socket是端到端的(1:1的关系),而ZMQ却是可以N:M 的关系,人们对BSD套接字的了解较多的是点对点的连接,点对点连接需要显式地建立连接.销毁连接.选择协议(TCP/UDP)和处理错误等,而ZMQ屏蔽了这些细节,让你的网络编程更为简单.ZMQ用于node与node间的通信,node可以是主机或者是进程. 引用官方的说法: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样

RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ基础知识详解,RabbitMQ布曙

消息队列及常见消息队列介绍 2017-10-10 09:35操作系统/客户端/人脸识别 一.消息队列(MQ)概述 消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为: 当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候. 消息队列主要解决了应用耦合.异步处理.流量削锋等问题. 当前使用较多的消息队列有RabbitMQ.RocketMQ.ActiveMQ.Kafka.ZeroMQ.MetaMq等,而部分数据库如Re