rabbitmq集群

1 RabbitMQ 安装,配置

故事扮演 提交于 2020-03-12 03:13:12
1:安装 yum install -y rabbitmq-server 2:主要程序介绍 # 管理插件的程序 /usr/sbin/rabbitmq-plugins # 服务程序 /usr/sbin/rabbitmq-server # 命令行接口程序 /usr/sbin/rabbitmqctl 3:获取插件程序的帮助 rabbitmq-plugins --help list [-v] [-m] [-E] [-e] [<pattern>] enable <plugin> ... disable <plugin> .. 4:查看可用的插件,E表示:启动的插件,e表示:被依赖启动的插件 rabbitmq-plugins list [e] amqp_client 3.3 .5 [ ] cowboy 0.5 .0-rmq3 .3 .5-git4b93c2d [ ] eldap 3.3 .5-gite309de4 [e] mochiweb 2.7 .0-rmq3 .3 .5-git680dba8 [ ] rabbitmq_amqp1_0 3.3 .5 [ ] rabbitmq_auth_backend_ldap 3.3 .5 [ ] rabbitmq_auth_mechanism_ssl 3.3 .5 [ ] rabbitmq_consistent_hash_exchange 3.3 .5 [

docker分布式部署rabbitmq集群

*爱你&永不变心* 提交于 2020-03-09 02:53:31
rabbitmq是目前消息队列比较热门的使用技术,这里它和其他几类技术的对比本文就不做赘述了。本文主要讲述在Docker下如何部署rabbitmq分布式集群。本文不讲述docker及rabbitmq镜像的安装下载。 一、前期准备 本文以两台服务器作为示例。服务器A的IP为192.168.1.10,服务器B的IP为192.168.1.11。为了后期管理更多docker配置方便,分别在A,B两台服务器里面新建docker目录,其结构示例如下: cd /home/user/ mkdir docker cd docker mkdir rabbitmq cd rabbitmq touch hosts vim hosts 进入刚创建好的hosts文件配置服务器映射,编辑好以后wq保存退出 192.168.1.10 rabbit1 192.168.1.11 rabbit2 二、在A服务器中启动已经下载好的rabbitmq镜像 docker run -d --privileged=true --net host --hostname rabbit1 --name rabbitmq1 -v /home/user/docker/rabbitmq:/var/lib/rabbitmq -v /home/user/docker/rabbitmq/hosts:/etc/hosts -e RABBITMQ

NOVA源码分析——NOVA中的RabbitMQ解析

瘦欲@ 提交于 2020-03-08 18:41:47
本篇文章是由本人阅读NOVA源码过程中的心得、 RabbitMQ 的官方文档以及网上的一些资料整理总结而成的,也为了方便以后对这部分内容的复习。 NOVA是OpenStack系统的核心模块,主要负责虚拟机实例的生命周期管理、网络管理(前几个版本)、存储卷管理(前几个版本)、用户管理以及其他相关云平台管理功能,在能力上类似于Amazon EC2和Rackspace Cloud Servers。 消息队列(Queue )与数据库(Database) 作为Nova总体架构中的两个重要组成部分,二者通过系统内消息传递和信息共享的方式实现任务之间、模块之间、接口之间的异步部署,在系统层面大大简化了复杂任务的调度流程与模式,是整个OpenStack Nova系统的核心功能模块。终端用户(DevOps、Developers和其他OpenStack组件)主要通过Nova API实现与OpenStack系统的互动,同时Nova守护进程之间通过消息队列和数据库来交换信息以执行API请求,完成终端用户的云服务请求。 Nova采用无共享、基于消息的灵活架构,意味着Nova的组件有多种安装方式,可以将每个Nova-Service模块单独安装在一台服务器上,同时也可以根据业务需求将多个模块组合安装在多台服务器上。 1. RabbitMQ OpenStack Nova系统目前主要采用 RabbitMQ

RabbitMQ介绍及安装部署

半城伤御伤魂 提交于 2020-03-07 07:46:08
本节内容: RabbitMQ介绍 RabbitMQ运行原理 RabbitMQ重要术语 三种ExchangeType RabbitMQ集群种类 集群基本概念 镜像模式部署集群 一、RabbitMQ介绍 消息系统通过将消息的发送和接收分离来实现应用程序的异步和解偶。 或许你正在考虑进行数据投递,非阻塞操作或推送通知。或许你想要实现发布/订阅,异步处理,或者工作队列。所有这些都属于消息系统的模式。 RabbitMQ是一个消息代理,一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息再传输过程中的安全。 RabbitMQ是一个在AMQP协议标准上完整的、可复用的企业消息系统。它遵循Mozilla Public License开源协议,采用Erlang语言实现的工业级的消息队列。 二、RabbitMQ运行原理 RabbitMQ的两大核心组件是Exchange和Queue,以下是它的运行原理图: 三、RabbitMQ重要术语 Server(broker): 接受客户端连接,实现AMQP消息队列和路由功能的进程。 Vitual Host: 这是一个虚拟概念,类似于权限控制组,一个Vitual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是Vitual Host。 Exchange: 接收生产者发送的消息

RabbitMQ

我只是一个虾纸丫 提交于 2020-03-02 04:28:16
AMPQ协议: redis/rabbitMQ:10k以下redis。 MemcacheQ(MCQ):memcache协议。多条列队。支持大数据。 MSMQ:支持最大4MB。简单。 zeroMQ:专项高并发低延迟,用于金融。 kafka:消息分散到不同节点上。大数据中心hadoop。 快速持久化。 高吞吐量(10w/s速率)。 完全分布式。 ActiveMQ:apache。“java世界的中间力量”。 rabbitMQ:协议支持多。硬盘和内存模式,安全稳定。 connection------TCP连接 。 Channel-------虚拟连接。数据流动的位置。 解决tcp连接问题 vhost--------namespace。queue+exchange 不同vhost中的queue可以重复 polic-------写策略。 消息列队的执行过程: 消息列队是如何工作的? 1.客户端producter tcp-rabbit 打开channel。 2.producter声明一个Exchange,并且设置属性。 3.producter声明一个Queue,并设置相关属性。 4.producter使用RoutingKey在Exchange和Queue上绑定。 5.client投递消息到Exchange。 Exchange:三种类型 direct:以Key进行投递,别名交换机。 Fanout

ActiveMQ RabbitMQ KafKa对比

假装没事ソ 提交于 2020-03-01 13:42:51
前言: ActiveMQ和 RabbitMq 以及Kafka在之前的项目中都有陆续使用过,当然对于三者没有进行过具体的对比,以下摘抄了一些网上关于这三者的对比情况,我自己看过之后感觉还 是可以的,比较清晰的反馈了这三个的具体情况已经使用场景,具体的对比如下: 1)TPS比较: Kafka最高,RabbitMq 次之, ActiveMq 最差。 2)吞吐量对比: kafka具有高的吞吐量,内部采用消息的批量处理,zero-copy机制,数据的存储和获取是本地磁盘顺序批量操作,具有O(1)的复杂度,消息处理的效率很高。 rabbitMQ在吞吐量方面稍逊于kafka,他们的出发点不一样,rabbitMQ支持对消息的可靠的传递,支持事务,不支持批量的操作;基于存储的可靠性的要求存储可以采用内存或者硬盘。 3)在架构模型方面: RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Binding,queue组成,其中exchange和binding组成了消息的路由键;客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费(长连接,queue有消息会推送到consumer端,consumer循环从输入流读取数据)。rabbitMQ以broker为中心;有消息的确认机制。 kafka遵从一般的MQ结构

RabbitMQ入门

你。 提交于 2020-02-28 18:47:58
文章目录 一、rabbitMQ简介 各大主流中间件对比: 初识RabbitMQ RabbitMQ高性能的原因? 什么是AMQP高级消息队列协议? AMQP核心概念(重点) 二、rabbitMQ安装及使用(两种) Centos安装方式 Docker安装方式 常用操作命令 三、rabbitMQ快速入门 四、交换机 直流交换机 主题交换机 输出交换机 一、rabbitMQ简介 各大主流中间件对比: ActiveMQ ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线,并且它一个完全支持 J M S 规范的消息中间件。 其丰富的 API 、多种集群构建模式使得他成为业界老牌消息中间件,在中小型企业中应用广泛! MQ 衡量指标:服务性能、数据存储、集群架构 Kafka 用来做日志分析的 RocketMQ RocketMQ是阿里开源的消息中间件,目前也已经孵化为Apache顶级项目,它是纯java开发,具有高吞吐量、高可用性、适合大规模分布式系统 应用的特点。 RocketMQ思路起源于Kafka,它对消息的可靠传输及事务 性做了优化,目前在阿里集团被广泛应用于交易、充值、流计算、消息推 送、日志流式处理、binglog分发等场景 RabbitMQ RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议 来实现。 AMQP的主要特征是面向消息

RabbitMQ入门

被刻印的时光 ゝ 提交于 2020-02-28 15:27:39
文章目录 RabbitMQ简介 各大主流中间件对比 初识RabbitMQ RabbitMQ高性能的原因 什么是AMQP高级消息队列协议 AMQP核心概念(重点) RabbitMQ安装及使用 Centos安装方式 RabbitMQ安装与使用 Docker安装方式 常用操作命令 RabbitMQ快速入门 交换机 直流交换机 主题交换机 输出交换机 RabbitMQ简介 各大主流中间件对比 ActiveMQ ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线,并且它一 个完全支持 J M S 规范的消息中间件。 其丰富的 API 、多种集群构建模式使得他成为业界老牌消息中间件,在中 小型企业中应用广泛! MQ 衡量指标:服务性能、数据存储、集群架构 Kafka Kafka用来做日志分析 RocketMQ RocketMQ是阿里开源的消息中间件,目前也已经孵化为Apache顶级项目, 它是纯java开发,具有高吞吐量、高可用性、适合大规模分布式系统 应用的特点。 RocketMQ思路起源于Kafka,它对消息的可靠传输及事务 性做了优化, 目前在阿里集团被广泛应用于交易、充值、流计算、消息推 送、日志流式处理、binglog分发等场景 RabbitMQ RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议 来实现。

MQ技术

二次信任 提交于 2020-02-28 14:53:08
MQ技术(消息队列) 消息中间件概述 消息队列技术是分布式应用间交换信息的一种技术。 消息队列可驻留在内存或磁盘上,队列存储消息直到它们被应用程序读走。 通过消息队列,应用程序可独立地执行–它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。 消息队列为构造以同步或异步方式实现的分布式应用提供了松耦合方法。 消息队列的API调用被嵌入到新的或现存的应用中,通过消息发送到内存或基于磁盘的队列或从它读出而提供信息交换。 消息队列可用在应用中以执行多种功能,比如要求服务、交换信息或异步处理等。 消息队列的四大好处: 1.解耦:每个成员不必受其他成员影响,可以更独立自主,只通过一个简单的容器来联系。 2.提速 3.广播 4.削峰 消息队列的成本: 1.引入复杂度 2.暂时的不一致性 中间件是一种独立的系统软件或服务程序,分布式应用系统借助这种软件在不同的技术之间共享资源,管理计算资源和网络通讯。 它在计算机系统中是一个关键软件,它能实现应用的互连和互操作性,能保证系统的安全、可靠、高效的运行。 中间件位于用户应用和操作系统及网络软件之间,它为应用提供了公用的通信手段,并且独立于网络和操作系统。 中间件为开发者提供了公用于所有环境的应用程序接口,当应用程序中嵌入其函数调用,它便可利用其运行的特定操作系统和网络环境的功能,为应用执行通信功能。 如果没有消息中间件完成信息交换

RabbitMQ 集群+负载均衡

左心房为你撑大大i 提交于 2020-02-27 20:51:16
负载均衡 集群的配置已经搭建好了,代码也成功跑通,成功做到了高可用,但是我们的程序连接节点并不会管哪个服务器在忙、哪个服务器空闲,完全看心情想连谁就连谁。而且代码中要把每个ip的节点都手动的写出来 ,既然是手动的就很有可能发现写错这种情况,同样WEB UI 通常也不知道打开哪个好,因为每个服务器都有一个 WEB UI,可能有人说,既然哪个都行,你随便打开一个就是了。但是如果不巧这个服务器后面崩了呢。 基于以前问题,我们就需要一个强大的负载均衡服务器来帮助我们完成这些事情。 这里选择使用 haproxy,看官们可以根据心情来选择自己想要的 这里记一个坑,博主之前想用windows系统做负载均衡服务器,但是实验的时候总是会出错,换到linux后,发现高版本的haproxy不可用!试了几次 1.5.8是可以成功的。 准备工作就是 下载 haproxy,然后在linux下安装 make TARGET=linux26 PREFIX=/usr/local/haproxy #将haproxy安装到/usr/local/haproxy make install PREFIX=/usr/local/haproxy 然后把haproxy.cfg拷贝到安装目录下sbin文件夹中,这里我做了一些配置。包括对WEB UI与集群的负载均衡 global log 127.0.0.1 local0 # log