首页 存档 技术 查看内容

RabbitMQ高级指南:从配置、使用到高可用集群搭建

2018-3-30 13:00 |来自: 互联网 678 0

摘要: 作者介绍 章为忠,随变科技.net架构师。致力于电商领域的开发与架构设计工作,拥有丰富的电商网站架构搭建经验。博客:http://www.cnblogs.com/zhangweizhong/。 本文大纲: 1.RabbitMQ简介 2.RabbitMQ安装与配置 3. ...


作者介绍

章为忠随变科技.net架构师。致力于电商领域的开发与架构设计工作,拥有丰富的电商网站架构搭建经验。博客:http://www.cnblogs.com/zhangweizhong/。


本文大纲:

1.RabbitMQ简介

2.RabbitMQ安装与配置

3.C# 如何使用RabbitMQ

4.几种Exchange模式

5.RPC 远程过程调用

6.RabbitMQ高可用集群搭建


一、RabbitMQ简介


1、介绍


RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue )协议的开源实现。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面都非常的优秀。是当前最主流的消息中间件之一。


RabbitMQ官网:http://www.rabbitmq.com


2、AMQP


AMQP是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,同样,消息使用者也不用知道发送者的存在。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。


3、系统架构

  


消息队列的使用过程大概如下:

(1)客户端连接到消息队列服务器,打开一个channel。

(2)客户端声明一个exchange,并设置相关属性。

(3)客户端声明一个queue,并设置相关属性。

(4)客户端使用routing key,在exchange和queue之间建立好绑定关系。

(5) 客户端投递消息到exchange。exchange接收到消息后,就根据消息的


key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。


如上图所示:AMQP里主要说两个组件:Exchange和Queue。绿色的X就是Exchange ,红色的是Queue ,这两者都在Server端,又称作Broker,这部分是RabbitMQ实现的,而蓝色的则是客户端,通常有Producer和Consumer两种类型。


4、几个概念


  • P: 为Producer,数据的发送方。

  • C:为Consumer,数据的接收方。

  • Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。

  • Queue:消息队列载体,每个消息都会被投入到一个或多个队列。

  • Binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。

  • Routing Key:路由关键字,exchange根据这个关键字进行消息投递。

  • vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。

  • channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。


二、RabbitMQ安装与配置


1、安装


RabbitMQ是建立在强大的Erlang OTP平台上,因此安装RabbitMQ之前要先安装Erlang。


erlang:http://www.erlang.org/download.html

RabbitMQ:http://www.rabbitmq.com/download.html


注意:

  • 现在先别装最新的 3.6.3 ,本人在安装完最新的版本,queue 队列有问题,降到了 3.6.2 就解决了。

  • 默认安装的RabbitMQ禁用词语端口是:5672


2、配置


(1)安装完以后erlang需要手动设置ERLANG_HOME 的系统变量。


输入:setERLANG_HOME=C:\Program Files\erl8.0



(2)激活RabbitMQ's Management Plugin


使用Rabbit MQ 管理插件,可以更好的可视化方式查看Rabbit MQ 服务器实例的状态,你可以在命令行中使用下面的命令激活。


输入:rabbitmq-plugins.bat enable rabbitmq_management 

 


同时,我们也使用rabbitmqctl控制台命令(位于rabbitmq_server-3.6.3\sbin

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部