rabbitmq集群

RabbitMQ ——应用安装及命令

人走茶凉 提交于 2019-11-30 20:48:23
RabbitMQ Win7安装 1、下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址: http://www.erlang.org/downloads ,双击.exe文件进行安装就好,安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将%ERLANG_HOME%\bin加入到Path中,最后打开命令行,输入erl,如果出现erlang的版本信息就表示erlang语言环境安装成功; 2、下载RabbitMQ,下载地址: http://www.rabbitmq.com/ ,同样双击.exe进行安装就好(这里需要注意一点,默认的安装目录是C:/Program Files/....,这个目录中是存在空格符的,我们需要改变安装目录,貌似RabbitMQ安装目录中是不允许有空格的,我之前踩过这个大坑); 3、安装RabbitMQ-Plugins,这个相当于是一个管理界面,方便我们在浏览器界面查看RabbitMQ各个消息队列以及exchange的工作情况,安装方法是:打开命令行cd进入rabbitmq的sbin目录(我的目录是:D:\software\rabbitmq\rabbitmq_server-3.7.5\sbin),输入:rabbitmq-plugins enable rabbitmq

RabbitMQ集群之安装(一)

醉酒当歌 提交于 2019-11-30 20:48:06
RabbitMQ集群之安装(一) RabbitMQ安装 集群准备工作 现在有两台服务器:192.168.10.100,192.168.10.101 //进入到100服务器中 //查看hostname,或者使用hostname node1修改主机名 > hostname //配置hosts > vi /etc/hosts //修改如下 192.168 .10 .100 homename1 192.168 .10 .101 homename2 //在101服务器中同样配置就OK了 //注意:homename1是当前主机名哦! 如果不设置主机名,那么就查看主机名是什么,在hosts里面配置上就OK了。 linux安装 RabbitMQ 基于Erlang实现的,所以在安装rabbitmq之前需要先安装erlang,安装的时候需要注意erlang的版本号与rabbitmq的版本号。 安装注意:erlang版本号需要兼顾rabbitmq版本。版本不对,是无法启动rabbitmq的。 官网版本对应表: http://www.rabbitmq.com/which-erlang.html //先安装erlang,如果不先安装erlang是无法安装rabbitmq的 [root @xiaobao ~] # yum install http://www.rabbitmq.com/releases

RabbitMQ消息队列

旧巷老猫 提交于 2019-11-30 20:47:07
RabbitMQ 简介 RabbitMQ( 消息队列/消息中间件 )是流行的开源消息队列系统,是 AMQP (Advanced Message Queuing Protocol高级消息队列协议)的标准实现。用Erlang语言开发。RabbitMQ具有 良好的性能和实效性 ,同时还 支持集群 和 负载部署 ,非常适用于在较大规模的分布式系统中使用。 Java常见的消息队列技术:RabbitMQ、ActiveMQ、Redis(List数据格式)、JMS(Java Message Service)等。 RabbitMQ官网: http://www.rabbitmq.com/ 消息队列比较: http://blog.csdn.net/sunxinhere/article/details/7968886 RabbitMQ下载地址: http://www.rabbitmq.com/download.html 安装 安装erlang依赖。 安装erlang的rpm库。 下载erlang的仓库: wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm (如果提示wget不是一个命令执行yum install wget) 安装erlang仓库: rpm -Uvh erlang-solutions-1.0

RabbitMQ安装及配置详细步骤

余生长醉 提交于 2019-11-30 20:42:37
RabbitMQ 是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库 Erlang官网下载地址: http://www.erlang.org/ RabbitMQ官网下载地址: https://www.rabbitmq.com/ Erlang+rabbitMQ安装包我的百度云链接: https://pan.baidu.com/s/1Gr1SSJivTvSxy1h-gbIrSg 提取码:c3rk 一、安装Erlang 新建Erlang环境变量 打开命令行窗口输入: erl -version 查看版本号及是否安装配置成功 二、RabbitMQ安装 rabbitmq_managemen是管理后台的插件、我们要开启这个插件才能通过浏览器访问登录页面 打开cmd命令行窗口( 此处注意如果执行以下命令报错目录名称无效. 文件名,目录名或卷标语法不正确.注意本机电脑名称是否包含有中文,有中文的话修改为全英文,重启电脑再次执行以下命令即可 ): 1、进入到sbin目录下执行: rabbitmq-plugins enable rabbitmq_management 2、开启服务执行: rabbitmq-server 打开浏览器访问:

RabbitMQ相关

帅比萌擦擦* 提交于 2019-11-30 19:56:56
RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。 1、RabbitMQ 的使用场景有哪些? 1.1异步处理 场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式 1.2 应用解耦 场景:双11是购物狂节,用户下单后,订单系统需要通知库存系统,传统的做法就是订单系统调用库存系统的接口. 这种做法有一个缺点: 当库存系统出现故障时,订单就会失败。(这样马云将少赚好多好多钱^ ^) 订单系统和库存系统高耦合. 引入消息队列 流量削峰 流量削峰一般在秒杀活动中应用广泛 场景:秒杀活动,一般会因为流量过大,导致应用挂掉,为了解决这个问题,一般在应用前端加入消息队列。 作用: 1.可以控制活动人数,超过此一定阀值的订单直接丢弃(我为什么秒杀一次都没有成功过呢^^) 2.可以缓解短时间的高流量压垮应用(应用程序按自己的最大处理能力获取订单) 二: rabbitmq 有哪些重要的角色? RabbitMQ 中重要的角色有:生产者、消费者和代理: 生产者:消息的创建者,负责创建和推送数据到消息服务器; 消费者:消息的接收方,用于处理数据和确认消息; 代理:就是 RabbitMQ 本身,用于扮演“快递”的角色,本身不生产消息,只是扮演“快递”的角色。 三:rabbitmq 有哪些重要的组件?

03:rabbitmq-高可用性(haproxy)

一世执手 提交于 2019-11-30 15:48:25
RabbitMQ -高可用性(HA) HAProxy 是一个免费的负载均衡软件,可以运行于大部分主流的 Linux 操作系统上。 HAProxy 提供了 L4(TCP) 和 L7(HTTP) 两种负载均衡能力,具备丰富的功能。 HAProxy 的社区非常活跃,版本更新快速。最关键的是, HAProxy 具备媲美商用负载均衡器的性能和稳定性。它当前不仅仅是免费负载均衡软件的首选,更几乎成为了唯一选择。 因为 RabbitMQ 本身不提供负载均衡,下面我们就搭建 HAProxy ,用作 RabbitMQ 集群的负载均衡。 1: 安装 haproxy 在 node1 上面 [root@node1 ~]# yum install haproxy -y 2: 配置 haproxy [root@node1 ~]# cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak [root@node1 ~]# vim /etc/haproxy/haproxy.cfg 3: 将下面的配置添加到 /etc/haproxy/haproxy.cfg 文件中: global log 127.0.0.1 local0 info log 127.0.0.1 local1 notice daemon maxconn 4096 defaults log

02: rabbitmq - 集群搭建

℡╲_俬逩灬. 提交于 2019-11-30 15:48:03
RabbitMQ -集群 回到正题,为什么搭建 rabbitmq集群?rabbitmq集群有那些模式?如何搭建Rabbitmq集群?rabbitmq镜像高可用策略有那些? 设计集群的目的 允许消费者和生产者在 RabbitMQ 节点崩溃的情况下继续运行。 通过增加更多的节点来扩展消息通信的吞吐量。 rabbitmq有3种模式 ------ 但集群模式是 2种 详细如下: 单一模式:即单机情况不做集群,就单独运行一个 rabbitmq而已。(上一遍就是单一模式) 普通模式:默认模式,以两个节点( rabbit01、rabbit02)为例来进行说明。对于Queue来说,消息实体只存在于其中一个节点rabbit01(或者rabbit02),rabbit01和rabbit02两个节点仅有相同的元数据,即队列的结构。当消息进入rabbit01节点的Queue后,consumer从rabbit02节点消费时,RabbitMQ会临时在rabbit01、rabbit02间进行消息传输,把A中的消息实体取出并经过B发送给consumer。所以consumer应尽量连接每一个节点,从中取消息。即对于同一个逻辑队列,要在多个节点建立物理Queue。否则无论consumer连rabbit01或rabbit02,出口总在rabbit01,会产生瓶颈。当rabbit01节点故障后

01 : rabbitmq - 介绍和安装

試著忘記壹切 提交于 2019-11-30 14:19:30
RabbitMQ 简介:    RabbitMQ 是一个在AMQP协议标准基础上 开发的 ,可服用的企业消息系统。它遵循 Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器。    ①、AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。 基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。    ②、开源。    ③、使用 Erlang 语言编写,这是一种面向并发的编程语言,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。 通俗的讲: RabbitMQ是一种消息队列 ,用于常见的进程通信。支持点对点,请求应答和发布订阅模式 并且提供多种语言的支持。常见的java,c#,php都支持。 常被用在异步处理,应用解耦。流量消锋等复杂的业务场景中。和 java的kafka一样都属于消息中间件。 接下来我们介绍如何在 Linux 系统上安装 RabbitMQ。后续会在此基础上讲解集群的搭建。 1. 修改 host解析 (这里是为了后面做集群) [root@node1 ~]# vim /etc/hosts 127.0.0.1 localhost

八、RabbitMQ的集群原理

梦想的初衷 提交于 2019-11-30 08:10:50
集群架构 写在前面 RabbitMQ集群是按照低延迟环境设计的,千万不要跨越WAN或者互联网来搭建RabbitMQ集群。如果一定要在高延迟环境下使用RabbitMQ集群,可以参考使用Shovel和Federation工具。 RabbitMQ社区中的传统观念要求集群中节点数量的上限在32至64个,因为每向集群添加一个节点,就添加了同步的复杂性。集群中的每个节点必须知道其他节点的信息,这种非线性的复杂度会拖慢消息投递和集群管理。 集群中的队列 RabbitMQ集群设计目的有两个: 允许消费者和生产者在RabbitMQ节点崩溃的情况下继续运行; 通过添加更多的节点来线性扩展消息通信的吞吐量; 当一个RabbitMQ集群节点崩溃时,该节点上队列的消息也会消失。这事因为RabbitMQ默认不会将队列的内容复制到整个集群上。如果不进行特别的配置,这些消息仅存在于队列所属的那个节点上。 RabbitMQ会始终记录以下四种类型的内部元数据: 队列元数据:队列名称和它们的属性; 交换器元数据:交换器名称、类型和属性; 绑定元数据:一张简单的表格展示了如何将消息路由到队列; vhost元数据:为vhost内的队列、交换器和绑定提供命名空间和安全属性; 当你引入集群时,RabbitMQ需要追踪新的元数据类型 —— 集群节点位置,以及节点与已记录的其他类型元数据的关系

Linux下安装RabbitMQ

夙愿已清 提交于 2019-11-30 06:07:58
RabbiTMQ概述   RabbitMQ轻量级,易于在内部和云中部署。它支持多种消息传递协议。RabbitMQ可以部署在分布式和联合配置中,以满足高规模,高可用性要求。   RabbitMQ可在许多操作系统和云环境中运行,并为大多数流行语言提供各种开发人员工具。   RabbitMQ是一个在AMQP基础上完成的,可复用的企业消息系统。它是由Erlang语言开发。   AMQP:Advanced Message Queue,高级消息队列协议。他是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。 1 RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:<!--more--> 2 3 可靠性(Reliability):RabbitMQ使用一些机制来保证可靠性,如持久化、传输确认、发布确认。 4 灵活的路由(Flexible Routing):在消息进入队列之前,通过 Exchange 来路由消息的。 5 消息集群(Clustering):多个 RabbitMQ 服务器可以组成一个集群,形成一个逻辑 Broker 。 6 高可用(Highly Available Queues):队列可以在集群中的机器上进行镜像