今儿个大伙儿都在用RabbitMQ搞消息队列,我也是跟风装了个玩玩。结果一上来就踩坑了——本地写的测试消息,一扭头就被线上服务器给消费掉了!我这暴脾气立马就上来了。琢磨半天才搞清楚是没给消息做隔离,这不就跟合租屋里衣服全混着洗一样乱嘛赶紧研究了下虚拟主机(Virtual Host),总算把地盘给隔开了,折腾过程全记下来了:
装好RabbitMQ启动服务是必须的。打开命令行,先确保服务跑着:
sudo rabbitmq-server start
输完命令看到那兔子logo蹦出来,就知道服务起来了。顺手开浏览器访问15672端口的管理界面(默认账密都是guest
),能看见管理台就算齐活。
默认guest
账号权限太大不敢乱用,直接新建专属用户:
tyler
)和密码,Tags那儿选administrator
权限完事儿用户列表里就多出个新管家,待会全权交给它管事。
直奔主题建虚拟主机:
local_test
),其他保持空白刚建的虚拟主机光秃秃的不顶用,得给用户分配权限:
local_test
tyler
用户这时候列表里tyler
用户的读写权限就绑上了,钥匙发到位!
重点来了!到Spring项目配置文件改RabbitMQ连接:
*=tyler
*=你设的密码
*-host=local_test
启动生产者发消息,再去管理台的Queues标签看,消息老老实实呆在local_test
下面。启动消费者立马精准消费,服务器那边连个动静都没有——隔离做得妥妥的!
实践发现新用户建虚拟主机时容易漏掉权限绑定,结果连不上就干瞪眼。命令行也能搞(比如rabbitmqctl add_vhost test
),但管理台点点鼠标对新手更友现在本地测试再也不怕污染线上环境了,舒坦!
*请认真填写需求信息,我们会在24小时内与您取得联系。