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[系统].rpm
    rpm -ivh erlang-[版本号].el[系统].rpm --force
  • 安装RabbitMQ

    处理Yum仓库文件:

    rpm --import https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
    cat <
    /etc/yum.repos.d/rabbitmq.repo
    [bintray-rabbitmq-server]
    name=Bintray RabbitMQ Repository
    baseurl=https://dl.bintray.com/rabbitmq/rpm/rabbitmq-server/v3.8.x/el/7/
    enabled=1
    gpgcheck=0
    repo_gpgcheck=0
    EOF
    yum makecache
    yum install rabbitmq-server
  • 启动服务

    使服务开机自启动并启动服务:

    systemctl enable rabbitmq-server
    systemctl start rabbitmq-server
  • 1.3 启动RabbitMQ 服务器
  • 登录RabbitMQ管理界面:

    rabbitmqctl list_vhosts  # 查看是否有创建虚拟主机
  • 启用管理界面插件:

    rabbitmq-plugins enable rabbitmq_management
  • 防火墙配置:

    firewall-cmd --zone=public --add-port=15672/tcp
    --permanent
    firewall-cmd --reload
  • 重启服务并验证:

    systemctl restart rabbitmq-server
    rabbitmqctl 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可以在多种应用场景中发挥作用,丰富分布式架构设计方案。

    上一篇:order service 调用商品库存服务和用户服务
    下一篇:Spring Cloud --- feign

    发表评论

    最新留言

    留言是一种美德,欢迎回访!
    [***.207.175.100]2025年04月17日 09时52分08秒