博客
关于我
Centos7单节点部署RabbitMQ
阅读量:835 次
发布时间:2019-03-24

本文共 1795 字,大约阅读时间需要 5 分钟。

RabbitMQ技术文章

简介

RabbitMQ是开源的高级消息队列协议(AMQP)中间件,由Erlang语言开发。它以高性能、健壮性和可伸缩性著称,广泛应用于消息分发和异步处理场景。支持多种操作系统及编程语言,适合构建高可用性和高可扩展性的消息系统。

历史

RabbitMQ最初由LShift开发,2010年被SpringSource(VMware子公司)收购,后来成为Pivotal的一部分。RabbitMQ的设计理念和实现深受Erlang语言的影响,其集群机制基于Erlang的开放电信平台。

基本概念

RabbitMQ主要包括以下组件:

  • Exchange(交换机):根据规则将消息路由至目标队列
  • Queue(队列):消息的存储和消费载体
  • Channel(虚拟通道):基于TCP协议的通信渠道
  • Connection(连接):生产者与消费者与消息队列的通信链路
  • Virtual Host(虚拟主机):提供独立的虚拟环境

支持操作系统包括Linux、Windows、macOS、Solaris等,编程语言涵盖Java、Python、C#、JavaScript等。

主要特性

  • 可伸缩性:支持横向扩展
  • 消息持久化:保障消息不丢失
  • ** 高可用性**:通过集群实现无单点故障
  • 安装

    环境准备

    安装前确保Erlang和RabbitMQ的安装路径不含空格符。Yum命令用于安装必要工具包:

    yum -y install vim net-tools lrzsz net-tools mkae cmake gcc-c++

    接着安装RabbitMQ和Erlang:

    rpm -ivh erlang-18.1-1.el7.centos.x86_64.rpmrpm -ivh rabbitmq-server-3.6.15-1.el7.noarch.rpm

    启动服务并检查状态:

    systemctl start rabbitmq-server

    关闭防火墙并禁用:

    systemctl stop firewalld && systemctl disable firewalld && setenforce 0

    安装完成后,默认用户为 guest,可通过命令添加管理员用户:

    rabbitmqctl delete_user guestrabbitmqctl add_user test 123.comrabbitmqctl set_user_tags test administrator

    访问地址为:http://IP地址:15672

    AMQP与消息队列

    AMQP特性

    • 开放标准协议
    • 支持异步通信
    • 适合复杂数据模型
    • 解耦发布与消费

    消息队列类型

    • Redis:基于内存,发布速率有限
    • MemcachedQ:与Memcache兼容,性能较好
    • MSMQ:以内存为载体,仅支持点对点通信
    • ZeroMQ:速度快,延迟低,适合金融量级业务
    • Kafka:高吞吐,持久化能力强
    • ActiveMQ:功能全面,但安装复杂
    • RabbitMQ:开源稳定,适合复杂场景,但消息封装较大

    集群模式

    RabbitMQ支持三种集群模式:

  • 镜像模式
    • all:所有节点接收消息
    • exactly:指定节点接收消息
    • nodes:指定特定节点接收消息
  • 单节点部署

    环境配置

    服务器环境配置:

    • IP:192.168.1.40
    • 操作系统:CentOS Linux 7.6.1810
    • 服务包:RabbitMQ 3.6.15,Erlang 18.1

    安装命令:

    yum -y install socatrpm -ivh erlang-18.1-1.el7.centos.x86_64.rpmrpm -ivh rabbitmq-server-3.6.15-1.el7.noarch.rpm

    启动服务:

    systemctl start rabbitmq-server

    检查状态:

    rabbitmqctl cluster_status

    添加插件:

    rabbitmq-plugins enable rabbitmq_management

    默认用户权限管理:

    rabbitmqctl delete_user guestrabbitmqctl add_user test 123.comrabbitmqctl set_user_tags test administrator

    转载地址:http://dugkk.baihongyu.com/

    你可能感兴趣的文章
    python3 robotframework+pycharm框架搭建
    查看>>
    Python3 shutil模块
    查看>>
    Python关于strftime函数详细解析 附实战代码
    查看>>
    Python3 tutorial day3
    查看>>
    python3 week4
    查看>>
    Python3 创建数组
    查看>>
    python3 套接字异常(a byte-like object is required not str)
    查看>>
    python3 实现用户三次输入错误记录黑名单并对该用户登录锁定-day1
    查看>>
    python3 文本变图片
    查看>>
    Python3 查看 com 组件的属性
    查看>>
    python3 案例分享--发邮件
    查看>>
    python3 模板库_Python3 标准库概览_Python教程_我爱模板网 - 提供下载各种免费建站资源,免费网站模板,免费网页特效,让你爱上建站!...
    查看>>
    Python3 求最大/小值及索引值 Numpy
    查看>>
    python3+django使用celery执行某些任务失败的解决方案
    查看>>
    Python3+Requests+Unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【二】
    查看>>
    Python3+Requests+Unittest实战系列【二】
    查看>>
    python3----ASCII
    查看>>
    Python3-selenium自动化测试框架,结合HTMLTestRunner测试报告!
    查看>>