zoukankan      html  css  js  c++  java
  • RabbitMQ从入门到精通(一)

    0. 什么是消息中间件

    在开始介绍RabbitMQ的安装之前,我们有必要介绍一下什么是消息中间件。

    消息队列中间件(Message Queue Middleware - MQ)是指利用高效可靠的消息传递机制进行数据交流,并基于数据通信来构建分布式系统。

    消息传递的两种模式:

    a. 点对点(P2P - Point-to-Point)

    基于队列(消息生产者发送消息到队列, 消息消费者从队列接收消息)

    b. 发布/订阅(Pub/Sub)

    一对多广播(内容节点成为主题-Topic, 消息发布者发布某个主题, 消息订阅者从主题订阅消息)

    1. 起源简介

    RabbitMQ是采用Erlang语言实现的基于AMQP(Advanced Message Queuing Protocol)[高级消息队列协议]的消息中间件。

    2006, AMQP标准公开。

    RabbitMQ作为实现该标准的消息中间件产品登上历史舞台。

    2010,RabbitMQ被SpringSource-VMWare的一个部门收购。

    2013年5月, RabbitMQ并入Pivotal。

    2. 传统原生安装

    2-1) 下载安装socat

            (RabbitMQ需要socat依赖,所以需要安装socat)

    # 下载
    wget http://repo.iotti.biz/CentOS/7/x86_64/socat-1.7.3.2-5.el7.lux.x86_64.rpm
    # 安装
    rpm -ivh socat-1.7.3.2-5.el7.lux.x86_64.rpm

    2-2) 下载安装Erlang

            (由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前, 需要先安装Erlang)

      下载包

      https://github.com/rabbitmq/erlang-rpm/releases/tag/v23.1.1

    # 安装
    rpm -ivh erlang-23.1.1-1.el7.x86_64.rpm

    2-3) 下载安装RabbitMQ

    官方下载地址:https://dl.bintray.com/rabbitmq/all/rabbitmq-server/
    选择版本3.8.0下载rpm安装包。

    # 安装
    rpm -ivh rabbitmq-server-3.8.0-1.el7.noarch.rpm

    2-4) 启动和停止

    # 启动
    service rabbitmq-server start
    
    # 停止
    service rabbitmq-server stop

    3. RabbitMQ后台管理

     3-1) 安装后台管理插件

    rabbitmq-plugins enable rabbitmq_management

     3-2) 放开访问端口

    # RabbitMQ通讯端口
    firewall-cmd --zone=public --add-port=5672/tcp --permanent
    
    # RabbitMQ后台管理页面端口
    firewall-cmd --zone=public --add-port=15672/tcp --permanent
    
    # 重启防火墙
    firewall-cmd --reload

     3-3) 登录后台管理

    浏览器访问页面http://ip:15672可以打开后台管理页面

    默认自带的guest用户只允许本地机器访问登录(提示User can only log in via localhost)
    可以通过以下步骤解决:

    # 创建用户:
    rabbitmqctl add_user 用户名 密码
    eg:
    rabbitmqctl add_user kg 123456
    
    # 赋予角色:
    rabbitmqctl set_user_tags 用户名 administrator
    eg:
    rabbitmqctl set_user_tags kg administrator

    1. cd /etc/rabbitmq
    2. vi rabbitmq.config
    3. 写入[{rabbit, [{loopback_users, []}]}].,保存退出。
    4. 重启RabbitMQ,service rabbitmq-server restart
    5. 用账号guest、密码guest登录。

    登录后界面如下:

    3-4) 解决后台管理页面打开特别慢

    本人在刚好安装好以后,发现打开和登录管理页面特别慢,连接RabbitMQ有时候也会超时,后经排查发现是解析主机名的问题,在hosts文件中配上当前主机名即可解决。

    vi /etc/hosts
    在127.0.0.1 后追加当前主机名称

    4. Docker方式安装

    开启:管理页面 默认账号:guest 默认密码:guest
    Docker启动时候可以指定账号密码对外端口

    docker pull rabbitmq
    
    docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=admin 
     -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 
     -p 61613:61613 -p 1883:1883 rabbitmq:management 
    访问地址:
    http://ip:15672/

    好了,rabbitmq的两种安装方式都介绍完毕了


    技术改变世界
  • 相关阅读:
    python3使用cx_Oracle连接oracle时,怎么传参sid或service_name
    CSS选择器
    Java + selenium Timeout接口用法介绍
    Selenium 中ExpectedConditions 用法说明
    jmeter跨线程调用参数
    Android Studio常用插件汇总
    js、jQuery实现文字从下到上(从右到左)无缝轮播、滚动效果
    package.json中的版本号
    mac 下检测网络状态的命令
    git clone 需要用户名密码的一个小问题
  • 原文地址:https://www.cnblogs.com/davidgu/p/14479505.html
Copyright © 2011-2022 走看看