Java开发人员不得不收集的代码,Java中高级核心知识全面解析(11)

本文详细介绍了RabbitMQ的安装过程,包括Erlang的安装,以及RabbitMQ的配置、启动和管理插件启用。还阐述了RabbitMQ中交换器的工作原理,特别是headers类型的交换器,并提醒了headers类型交换器的性能问题。最后,提供了远程访问RabbitMQ的解决方案,包括创建新用户和授权。
摘要由CSDN通过智能技术生成


以上图为例:

  • 路由键为 “com.rabbitmq.client” 的消息会同时路由到 Queuel 和 Queue2;
  • 路由键为 “com.hidden.client” 的消息只会路由到 Queue2 中;
  • 路由键为 “com.hidden.demo” 的消息只会路由到 Queue2 中;
  • 路由键为 “java.rabbitmq.demo” 的消息只会路由到Queuel中;
  • 路由键为 “java.util.concurrent” 的消息将会被丢弃或者返回给生产者(需要设置 mandatory 参数),因为它没有匹配任何路由键。
④ headers(不推荐)

headers 类型的交换器不依赖于路由键的匹配规则来路由消息,而是根据发送的消息内容中的 headers属性进行匹配。在绑定队列和交换器时制定一组键值对,当发送消息到交换器时,RabbitMQ会获取到该消息的 headers(也是一个键值对的形式)'对比其中的键值对是否完全匹配队列和交换器绑定时指定的键值对,如果完全匹配则消息会路由到该队列,否则不会路由到该队列。headers 类型的交换器性能会很差,而且也不实用,基本上不会看到它的存在。

参考资料:《Java中高级核心知识全面解析》
获取方式:私信【资料】免费获取
还有更多Java PDF学习资料等你来拿!!!

二、安装 RabbitMq

通过 Docker 安装非常方便,只需要几条命令就好了,我这里是只说一下常规安装方法。

前面提到了 RabbitMQ 是由 Erlang语言编写的,也正因如此,在安装RabbitMQ 之前需要安装Erlang。

注意:在安装 RabbitMQ 的时候需要注意 RabbitMQ 和 Erlang 的版本关系,如果不注意的话会导致出错,两者对应关系如下:

1.安装 erlang

1)下载 erlang 安装包

在官网下载然后上传到 Linux 上或者直接使用下面的命令下载对应的版本。

[root@SnailClimb local]#wget http://erlang.org/download/otp_src_19.3.tar.gz

2)解压 erlang 安装包

[root@SnailClimb local]#tar -xvzf otp_src_19.3.tar.gz

3) 删除 erlang 安装包

[root@SnailClimb local]#rm -rf otp_src_19.3.tar.gz

4)安装 erlang 的依赖工具

[root@SnailClimb local]#yum -y install make gcc gcc-c++ kernel-devel m4 ncurses- devel openssl-devel unixODBC-devel

5)进入erlang 安装包解压文件对 erlang 进行安装环境的配置

新建一个文件夹

[root@SnailClimb local]# mkdir erlang

对 erlang 进行安装环境的配置

[root@SnailClimb otp_src_19.3]# 
./configure --prefix=/usr/local/erlang --without-j

6)编译安装

[root@SnailClimb otp_src_19.3]# 
make && make install

7)验证一下 erlang 是否安装成功了

[root@SnailClimb otp_src_19.3]# ./bin/erl

运行下面的语句输出“hello world”

io:format("hello world~n", []).

大功告成,我们的 erlang 已经安装完成。

8)配置 erlang 环境变量

[root@SnailClimb etc]# vim profile

追加下列环境变量到文件末尾

#erlang 
ERL_HOME=/usr/local/erlang 
PATH=$ERL_HOME/bin:$PATH 
export ERL_HOME PATH

运行下列命令使配置文件 profile 生效

[root@SnailClimb etc]# source /etc/profile

输入 erl 查看 erlang 环境变量是否配置正确

[root@SnailClimb etc]# erl

2.安装 RabbitMQ

1)下载rpm

wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.8/rabbitmq-server- 3.6.8-1.el7.noarch.rpm

2)安装rpm

rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

紧接着执行:

yum install rabbitmq-server-3.6.8-1.el7.noarch.rpm

中途需要你输入"y"才能继续安装。

3)开启 web 管理插件

rabbitmq-plugins enable rabbitmq_management

4)设置开机启动

chkconfig rabbitmq-server on

5)启动服务

service rabbitmq-server start

6)查看服务状态

service rabbitmq-server status

7)访问 RabbitMQ 控制台

浏览器访问:http://你的ip地址:15672/

默认用户名和密码: guest/guest;但是需要注意的是:guestuest用户只是被容许从localhost访问。官网文档描述如下:

“guest” user can only connect via localhost

解决远程访问 RabbitMQ 远程访问密码错误

新建用户并授权

[root@SnailClimb rabbitmq]# rabbitmqctl add_user root root 
Creating user "root" ... 
[root@SnailClimb rabbitmq]# rabbitmqctl set_user_tags root administrator 



# 最后

各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了,需要的话请**[点赞后点击这里免费下载文章资料!](https://gitee.com/vip204888/java-p7)**

![](https://img-blog.csdnimg.cn/img_convert/b4d05fe6c4e6c4644885b688cc4b83d8.png)

![](https://img-blog.csdnimg.cn/img_convert/f60c07bf77518209bac3e83d62417a5e.png)

![](https://img-blog.csdnimg.cn/img_convert/fc5eead9998a8146314eba0c437ed046.png)

8/java-p7)**

[外链图片转存中...(img-B03c67fD-1628281621687)]

[外链图片转存中...(img-RIuN0sg4-1628281621688)]

[外链图片转存中...(img-MA70UKil-1628281621688)]

![](https://img-blog.csdnimg.cn/img_convert/5a568e0c1fe5600ca346b47e41b0d816.png)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值