
RabbitMQ --- 安装及基本概念
接收消息 根据绑定键转发到队列 定义消息路由规则 确定消息最终分配队列
发布日期:2021-05-20 01:12:08
浏览次数:21
分类:精选文章
本文共 2207 字,大约阅读时间需要 7 分钟。
RabbitMQ 安装与使用指南
一、RabbitMQ 安装
安装RabbitMQ分为离线安装和在线安装两种方法。以下将详细介绍这两种安装方式。
1.1 离线安装
下载离线安装包
下载适用于您操作系统的RabbitMQ离线安装包文件。常见的操作系统包括CentOS 6和7。上传离线安装包
将下载的安装包文件上传至服务器指定目录,例如/root
。 切换到安装目录
进入安装包目录执行命令:cd rabbitmq-install
安装RabbitMQ
使用包管理工具安装:rpm -ivh *.rpm
推荐工具
使用MobaXterm等工具代替XShell,更加便捷高效。 dowanload下载地址:点击这里1.2 Yum 在线安装
安装Erlang 套件
RabbitMQ依赖于Erlang环境,请先安装:wget https://github.com/rabbitmq/erlang-rpm/releases/download/v[版本号]/erlang-[版本号].el[系统].rpmrpm -ivh erlang-[版本号].el[系统].rpm --force
安装RabbitMQ
处理Yum仓库文件:rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asccat </etc/yum.repos.d/rabbitmq.repo[bintray-rabbitmq-server]name=Bintray RabbitMQ Repositorybaseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/enabled=1gpgcheck=0repo_gpgcheck=0EOFyum makecacheyum install rabbitmq-server
启动服务
使服务开机自启动并启动服务:systemctl enable rabbitmq-serversystemctl start rabbitmq-server
1.3 启动RabbitMQ 服务器
登录RabbitMQ管理界面:
rabbitmqctl list_vhosts # 查看是否有创建虚拟主机
启用管理界面插件:
rabbitmq-plugins enable rabbitmq_management
防火墙配置:
firewall-cmd --zone=public --add-port=15672/tcp--permanentfirewall-cmd --reload
重启服务并验证:
systemctl restart rabbitmq-serverrabbitmqctl status
1.4 添加用户
添加默认用户:
rabbitmqctl add_user admin admin
设置超级管理员权限:
rabbitmqctl set_user_tags admin administrator
如果需要精确设置权限,建议参考RabbitMQ用户管理文档。
注意:默认情况下,配置文件rabbitmq配置文件
在/etc/rabbitmq/
下,权限管理需谨慎操作。
2. RabbitMQ 使用场景
RabbitMQ在分布式系统中提供了多种关键功能,主要体现在以下几个方面:
2.1 服务解耦
传统的直接调用模式存在耦合问题:
- 服务间高度依赖,改动成本高
- 容错能力有限
改用RabbitMQ后:
- 服务A仅需将消息发送到队列
- 下游服务自行订阅消息,减少服务耦合性
2.2 流量削峰
高峰期流量处理压力大:
- 单台服务器无法承受高负载
- 格产使用RabbitMQ消息队列池
优势:
- 高峰期数据排队,平峰期资源优化使用
- 确保系统稳定性和响应速度
2.3 异步调用
处理耗时操作:
- 响应时间减少
- 系统架构分解明确
3. RabbitMQ 基本原理
RabbitMQ实现AMQP协议, 为微服务架构提供消息中转站功能:
3.1 Exchange 交换机
3.2 Message 队列
消息存储间接接收,需消费者处理
3.3 Routing 关键字
3.4 使用场景
RabbitMQ适用于:
- 实时数据处理
- 执行异步操作
- 解耦服务间依赖
- 高并发场景流量控制
4. 常见问题与解决方案
RabbitMQ性能问题:
- 硬件资源是否充足?
- 原配置是否优化?
网络连接问题:
- 检查防火墙设置
- 确保内部网络畅通
消息丢失:
- 检查消息确认机制
- 确保持久化配置正确
5. 高级配置与优化
可持久化消息队列:
rabbitmq-ctl set-policy -p duration_in_seconds_per_message 86400
负载均衡: 配置Exchange绑定策略,以实现跨 nods负载均衡
安全访问: 配置访问控制列表在额外防火墙策略支持多级权限
通过以上配置,RabbitMQ可以在多种应用场景中发挥作用,丰富分布式架构设计方案。
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月17日 09时52分08秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【自学Flutter】4.1 Material Design字体图标的使用(icon)
2019-03-09
【换行符】什么时候用cin.get()吃掉输入流中的换行符
2019-03-09
广东外语外贸大学第三届网络安全大赛Writeup
2019-03-09
SpringBoot使用RedisTemplate简单操作Redis的五种数据类型
2019-03-10
Thymeleaf sec:authorize 标签不生效
2019-03-11
微信JS-SDK DEMO页面和示例代码
2019-03-11
Flask--简介
2019-03-11
Frame--Api框架
2019-03-11
Boostrap技能点整理之【网格系统】
2019-03-11
javaWeb服务详解(含源代码,测试通过,注释) ——Emp的Dao层
2019-03-11
Git简单理解与使用
2019-03-11
echarts 基本图表开发小结
2019-03-11
adb通过USB或wifi连接手机
2019-03-11
JDK9-15新特性
2019-03-11
TreeSet、TreeMap
2019-03-11
JVM内存模型
2019-03-11
可变长度参数
2019-03-11
3、条件查询
2019-03-11