zoukankan      html  css  js  c++  java
  • RabbitMq集群搭建

      RabbitMq有三种模式且集群模式仅2种:
      单一模式:即单机情况不做集群,就单独运行一个rabbitmq而已。
      普通模式:默认模式,以两个节点(rabbit_A、rabbit_B)为例来进行说明。对于Queue来说,消息实体只存在于其中一个节点rabbit_A(或者rabbit_B),rabbit_A和rabbit_B两个节点仅有相同的元数据,即队列的结构。当消息进入rabbit_A节点的Queue后,consumer从rabbit_B节点消费时,RabbitMQ会临时在rabbit_A、rabbit_B间进行消息传输,把A中的消息实体取出并经过B发送给consumer。所以consumer应尽量连接每一个节点,从中取消息。即对于同一个逻辑队列,要在多个节点建立物理Queue。否则无论consumer连rabbit_A或rabbit_B,出口总在rabbit_A,会产生瓶颈。当rabbit_A节点故障后,rabbit_B节点无法取到rabbit_A节点中还未消费的消息实体。如果做了消息持久化,那么得等rabbit_A节点恢复,然后才可被消费;如果没有持久化的话,就会产生消息丢失的现象。
      镜像模式:把需要的队列做成镜像队列,存在与多个节点属于RabbitMQ的HA方案。该模式解决了普通模式中的问题,其实质和普通模式不同之处在于,消息实体会主动在镜像节点间同步,而不是在客户端取数据时临时拉取。该模式带来的副作用也很明显,除了降低系统性能外,如果镜像队列数量过多,加之大量的消息进入,集群内部的网络带宽将会被这种同步通讯大大消耗掉。所以在对可靠性要求较高的场合中适用。

    一、RabbitMq环境安装
      a.准备至少两台以上windowsserver服务器eg:【IP:192.168.1.62 , IP:192.168.1.79】最好内网环境下
      b.下载otp_win64_20.1与rabbitmq-server安装包【下载地址:http://www.rabbitmq.com/install-windows.html】
      c.先安装otp_win64_20.1再安装rabbitmq-server

    二、配置环境变量
      a.添加系统环境变量 ERLANG_HOME
      
      b.添加系统环境变量Path 值%ERLANG_HOME%in
           
      三、运行CMD;查看【erl】是否安装成功
      
      四、安装rabbitmq-server
      a.点击rabbitmq-server.exe 下一步下一步直到完成 
      b.启用Dos窗体运行rabbitmq-plugins enable rabbitmq_management命令进行安装Rabbitmq服务

      五、运行http://localhost:15672/ 默认帐号:guest 密码:guest 
     
     进入系统后添加自定义帐号和密码 分配administrator权限

      
      六、搭建RabbitMQ集群环境
      a.绑定ip计算机名称 (C:WindowsSystem32driversetc)
      
      
     b.打开"C:UsersAdministratorAppDataRoamingRabbitMQ"路径在改路径下创建环境变量文件'rabbitmq-env.conf' 
      NODENAME=rabbit@PC-201501051139
           NODE_IP_ADDRESS=192.168.1.62
      NODE_PORT=5672
      RABBITMQ_MNESIA_BASE=C:UsersAdministratorAppDataRoamingRabbitMQdb
      RABBITMQ_LOG_BASE=C:UsersAdministratorAppDataRoamingRabbitMQlog

       
      c.关闭【服务器192.168.1.62】与【服务器192.168.1.79】中的RabbitMQ服务并统一erlang cookie;Erlang cookie就是/var/lib/rabbitmq/.erlang.cookie这个文件中的内容。
      将【服务器192.168.1.62】的erlang cookie复制到【服务器192.168.1.79】节点中 覆盖位置【C:Windows和C:UsersAdministrator】并设置对应文件权限【目前我使用的everyone未发现其问题】
        d.设置Rabbitmq服务登录帐号    
      七、
    集群搭建将【192.168.1.79】的nods添加到【192.168.1.62】中
      打开[192.168.1.79]电脑 配置环境变量找到RabbitMQ的安装目录,本实例为"C:RabbitMq8879RabbitMq abbitmq_server-3.7.6sbin"。将"C:RabbitMq8879RabbitMq abbitmq_server-3.7.6"添加到Path中(或者你不配置环境变量直接cd到安装目录的sbin文件下也是可以的)
      输入命令
      rabbitmqctl stop_app
      rabbitmqctl join_cluster rabbit@PC-201501051139
      rabbitmqctl start_app
      验证在两台虚拟机下控制台下输入rabbitmqctl cluster_status如看到类似图片则搭建成功

      

  • 相关阅读:
    DeFi之道丨科普:一分钟了解以太坊layer2扩容
    4.B-Air302(NB-IOT)-功能扩展-Android扫码绑定Air302,并通过MQTT实现远程控制和监控PLC(三菱Fx1s-10MR)
    Air302(NB-IOT)-硬件BUG-电路硬件错误及其修改说明
    4.2-Air302(NB-IOT)-自建MQTT服务器-Android扫码绑定Air302,并通过MQTT实现远程通信控制
    Android 开发:数据库操作-android 使用 litepal 操作本地数据库
    0.5-Air302(NB-IOT)-连接自建MQTT服务器
    0.1-Air302(NB-IOT)-刷AT指令固件
    STM32+ESP8266+AIR202基本控制篇-00-开发板回收说明
    21-STM32+ESP8266+AIR202/302远程升级方案-扩展应用-移植远程升级包实现STM32F407VET6+串口网络模组(ESP8266/Air202/Air302)使用http或者https远程升级单片机程序
    数据处理思想和程序架构: 单片机STM32F407xx/F405xx/F415xx/417xx系列flash存储方案
  • 原文地址:https://www.cnblogs.com/tx720/p/9914997.html
Copyright © 2011-2022 走看看