博客
关于我
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/

    你可能感兴趣的文章
    nginx 301跳转
    查看>>
    nginx 403 forbidden
    查看>>
    nginx connect 模块安装以及配置
    查看>>
    nginx css,js合并插件,淘宝nginx合并js,css插件
    查看>>
    Nginx gateway集群和动态网关
    查看>>
    nginx http配置说明,逐渐完善。
    查看>>
    Nginx keepalived一主一从高可用,手把手带你一步一步配置!
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx log文件写入失败?log文件权限设置问题
    查看>>
    Nginx Lua install
    查看>>
    nginx net::ERR_ABORTED 403 (Forbidden)
    查看>>
    vue中处理过内存泄露处理方法
    查看>>
    Nginx RTMP 模块使用指南
    查看>>
    Nginx SSL 性能调优
    查看>>
    nginx ssl域名配置
    查看>>
    Nginx SSL私有证书自签,且反代80端口
    查看>>
    Nginx upstream性能优化
    查看>>
    Nginx 中解决跨域问题
    查看>>
    nginx 代理解决跨域
    查看>>
    Nginx 做负载均衡的几种轮询策略分析
    查看>>