RabbitMq
RabbitMQ的概念
RabbitMQ是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ是一个快递站,一个快递员帮你传递快件。RabbitMQ与快递站的主要区别在于,它不处理快件而是接收,存储和转发消息数据。
-
四大核心概念
-
生产者
产生数据发送消息的程序是生产者
-
交换机
交换机是RabbitMQ非常重要的一个部件,一方面它接收来自生产者的消息,另一方面它将消息推送到队列中。交换机必须确切知道如何处理它接收到的消息,是将这些消息推送到特定队列还是推送到多个队列,亦或者是把消息丢弃,这个得有交换机类型决定
-
队列
队列是RabbitMQ内部使用的一种数据结构,尽管消息流经RabbitMQ和应用程序,但它们只能存储在队列中。队列仅受主机的内存和磁盘限制的约束,本质上是一个大的消息缓冲区。许多生产者可以将消息发送到一个队列,许多消费者可以尝试从一个队列接收数据。这就是我们使用队列的方式
-
消费者
消费与接收具有相似的含义。消费者大多时候是一个等待接收消息的程序。请注意生产者,消费者和消息中间件很多时候并不在同一机器上。同一个应用程序既可以是生产者又是可以是消费者。
安装
1.官网地址
https://www.rabbitmq.com/download.html
2.unbutun安装
使用dpkg -i *.deb 的时候出现依赖没有安装
unbutun使用apt-get -f -y install 解决依赖问题后再执行dpkg安装deb包
1. sudo dpkg -i esl-erlang_23.0.2-2_ubuntu_trusty_amd64.deb 2.查看是否安装成功 erl 3. sudo dpkg -i rabbitmq-server_3.8.9-1_all.deb 4. 安装管控台 先看看列表 rabbitmq-plugins list 5.启用管控台 rabbitmq-plugins enable rabbitmq_management 6.启动 systemctl start rabbitmq-server.service 7.看状态 systemctl status rabbitmq-server.service
8.远程访问 /etc/rabbitmq 创建rabbitmq.config 输入 [{rabbit,[{loopback_users,[]}]}]. 8.2重启 systemctl restart rabbitmq-server.service
3.Centos7下安装rabbitmq
- 安装 erlang
wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm
rpm -Uvh erlang-solutions-2.0-1.noarch.rpm
yum install -y erlang
- 安装 rabbitmq
rpm -Uvh rabbitmq-server-3.8.13-1.el8.noarch.rpm
yum install rabbitmq-server -y
- 启动
systemctl start rabbitmq-server
systemctl status rabbitmq-server
- 配置开机启动
systemctl enable rabbitmq-server
4.Windows下安装rabbitmq
- 下载erlang,
原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,下载地址:http://www.erlang.org/downloads,
双击.exe文件进行安装就好,安装完成之后创建一个名为ERLANG_HOME的环境变量,其值指向erlang的安装目录,同时将%ERLANG_HOME%\bin加入到Path中,最后打开命令行,输入erl,如果出现erlang的版本信息就表示erlang语言环境安装成功;
ERLANG_HOME erlang的安装目录
Path %ERLANG_HOME%\bin
-
下载RabbitMQ,
下载地址:http://www.rabbitmq.com/,
同样双击.exe进行安装就好(这里需要注意一点,默认的安装目录是C:/Program Files/….,这个目录中是存在空格符的,我们需要改变安装目录,貌似RabbitMQ安装目录中是不允许有空格的,我之前踩过这个大坑);
-
安装RabbitMQ-Plugins,
这个相当于是一个管理界面,方便我们在浏览器界面查看RabbitMQ各个消息队列以及exchange的工作情况,安装方法是:打开命令行cd进入rabbitmq的sbin目录(我的目录是:E:\software\rabbitmq\rabbitmq_server-3.6.5\sbin),输入:rabbitmq-plugins enable rabbitmq_management命令,稍等会会发现出现plugins安装成功的提示,默认是安装6个插件,如果你在安装插件的过程中出现了下面的错误:
RabbitMqWeb管理界面
默认情况下,rabbitmq没有安装web端插件
rabbitmq-plugins enable rabbitmq_management
http://localhost:15672
默认用户密码 :guest guest 但只能在localhost使用使用
- 新添加用户
rabbitmqctl add_user ydd 123.com
设置tag
rabbitmqctl set_user_tags ydd administrator
配置权限
rabbitmqctl set_permissions -p / ydd ".*" ".*" ".*"
修改密码
rabbitmqctl change_password ydd admin123
rabbitmqctl delete_user Username #删除用户
rabbitmqctl list_users #查看用户清单