Windows情况下安装部署Erlang及消息队列中心件RabbitMQ

打印 上一主题 下一主题

主题 844|帖子 844|积分 2532

一、媒介

随着科技的高速发展 ,软件的性能要求也越来越高,比如大数据的处置惩罚、高并发、低延迟、异步处置惩罚、多服务联动、服务高可用性、跨平台等,我们不得不考虑一些中心件来处置惩罚各类请求来进步软件性能,MQ消息队列这类中心件越来越常用到,本文主要讲解RabbitMQ服务相关的部署,因其免费和开源
1、根本概念

RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、结实以及可伸缩性出名的 Erlang 写成。
RabbitMQ服务支持下列操纵系统


  • Linux
  • Windows NT 到 11
  • Windows Server 2003 到 2022
  • macOS
  • Solaris
  • FreeBSD
  • TRU64
  • VxWorks
RabbitMQ支持下列编程语言


  • Python
  • Java
  • Ruby
  • PHP
  • C#
  • JavaScript
  • Go
  • Elixir
  • Objective-C
  • Swift
2、主要特性



  • 可靠性:支持持久化,传输确认,发布确认等包管了MQ的可靠性。
  • 机动的分发消息计谋:这应该是RabbitMQ的一大特点。在消息进入MQ前由Exchange(互换机)进行路由消息。
    分发消息计谋有:简单模式、工作队列模式、发布订阅模式、路由模式、通配符模式。
  • 支持集群:多台RabbitMQ服务器可以组成一个集群,形成一个逻辑Broker。
  • 多种协议:RabbitMQ支持多种消息队列协议,比如 STOMP、MQTT 等等。
  • 支持多种语言客户端:RabbitMQ险些支持所有常用编程语言,包括 Java、.NET、Ruby 等等。
  • 可视化管理界面:RabbitMQ提供了一个易用的用户界面,使得用户可以监控和管理消息 Broker。
  • 插件机制:RabbitMQ提供了许多插件,可以通过插件进行扩展,也可以编写本身的插件。
3、组成部门



  • Producer:消息生产者(发送方),生产方客户端将消息同互换机路由发送到队列中。
  • Connection:网络连接。
  • Channel:信道,多路复用连接中的一条独立的双向数据流畅道。
  • Broker:消息队列的服务器实体(服务历程),此历程包括两个部门:Exchange和Queue。
  • Exchange:消息队列互换机(路由器),按一定的规则将消息路由转发到某个队列。
  • Binding:队列与互换器间的关联绑定,消费者将关注的队列绑定到指定互换器上,以便Exchange能准确分发消息到指定队列。
  • Queue:消息队列,消息的缓冲存储区。
  • Virtual Host:假造主机,假造主机提供资源的逻辑分组和分离。包含连接,互换,队列,绑定,用户权限,计谋等。
  • Consumer:消息消费者(接收方),消费队列中存储的消息。
流程如下图:

4、利用端口

RabbitMQ 节点绑定到端口(开放服务器 TCP 套接字)以接受客户端和 CLI 工具连接。其他历程和工具(例如防病毒软件)大概会阻止 RabbitMQ 绑定到端口。发生这种情况时,节点将无法启动。
CLI 工具、客户端库和 RabbitMQ 节点也打开连接(客户端 TCP 套接字)。防火墙可以阻止节点和 CLI 工具相互通讯。确保以下端口可访问:
   4369:epmd,RabbitMQ 节点和 CLI 工具利用的对等发现服务
5672、5671:由不带或带 TLS 的 AMQP 0-9-1 和 1.0 客户端利用
25672:用于节点间和 CLI 工具通讯(Erlang 分发服务器端口),从动态范围分配(默认限制为单个端口,计算为 AMQP 端口 + 20000)。除非确实需要这些端口上的外部连接(例如,集群利用联合或在子网外部的计算机上利用 CLI 工具),否则不应公开暴露这些端口。有关详细信息,请参阅网络指南。
35672-35682:由 CLI 工具(Erlang 分发客户端端口)用于与节点通讯,并从动态范围中分配(计算为服务器分发端口 + 10000 到服务器分发端口 + 10010)。有关详细信息,请参阅网络指南。
15672:HTTP API客户端、管理UI和rabbitmqadmin (仅当管理插件启用时)
61613、61614:不带和带 TLS 的STOMP 客户端(仅当启用STOMP 插件时)
1883、8883:不带和带 TLS 的MQTT 客户端(如果启用了MQTT 插件)
15674:STOMP-over-WebSockets 客户端(仅当启用了Web STOMP 插件时)
15675:MQTT-over-WebSockets 客户端(仅当启用了Web MQTT 插件时)
  也可以将 RabbitMQ 配置 为利用差别的端口和特定的网络接口。
5、注意事项



  • 一次只能安装一个 Erlang 版本
  • Erlang 必须利用管理帐户安装
  • 猛烈建议将 RabbitMQ 也安装为管理帐户
  • 安装路径只能包含 ASCII 字符。猛烈建议路径的任何目次名称中不包含空格
  • 选择 Erlang 与 RabbitMQ 两者版本时一定要参考版本的兼容性,参考下图或文档
   官方文档:https://www.rabbitmq.com/docs/which-erlang
  

二、运行情况Erlang搭建

1、安装包下载

   官方地址(两个都可以):
1、https://www.erlang.org/downloads
2、https://erlang.org/download(下载速度快点)
    个人聚集包:https://download.csdn.net/download/u013899802/90183659(内含RabbitMQ包)
  2、步伐安装

参考以下截图依次操纵即可:




打开安装目次检察是否已有安装后文件存在

3、配置系统情况变量

1)新建名为 ERLANG_HOME 的情况变量
变量值输入为Erlang安装根目次,默认安装C盘的,输入 C:\Program Files\Erlang OTP 即可
操纵参考如下:




2)在Path情况变量中添加Erlang的bin目次
双击 Path 情况变量或点编辑,再点击新建,输入 %ERLANG_HOME%\bin,依次确定保存即可

4、验证安装是否成功

打开 cmd 窗口,输入命令 erl ,看到版本号就说明Erlang安装成功了。

三、Rabbit服务步伐安装

1、安装包下载

   官方地址:https://www.rabbitmq.com/docs/download
国内第三方地址(相对稳定):https://repo.huaweicloud.com/rabbitmq-server
  2、步伐安装

参考以下截图依次操纵即可:




3、安装完成后配置服务

   打开 cmd 窗口,默认安装在C盘的,输入命令 cd C:\Program Files\RabbitMQ Server\rabbitmq_server-4.0.2\sbin 进入到安装目次下的 sbin 目次,再输入命令 rabbitmq-plugins enable rabbitmq_management 进行安装。
  


   cmd 窗口输入命令 net stop RabbitMQ && net start RabbitMQ 重启MQ服务
  

   cmd 窗口输入命令 services.msc 打开服务,检察是否有 “RabbitMQ” 名称的服务正在运行。
  

4、验证是否安装成功

在浏览器输入:http://localhost:15672
初始用户名:guest
初始密码:guest


能登录进去看到版本号,即安装成功。
四、自定义配置

1、用户配置

   1)、修改初始用户 guest 的密码
  


   2)、新增一个自定义用户
  

   注意:新建用户初始是没有访问假造主机的权限,需要单独授权。(继续往下看)

    3)、配置自定义假造主机
  

   4)、自定义用户授权访问自定义假造主机的权限
  

   5)、授权假造主机
  

   授权成功后会表现当前授权的假造主机列表

  2、远程连接配置

   打开防火墙端口 15672,新建入站规则如下:
  





   再重复上述步调,新建一条RabbitMQ服务接口端口为 5672 的入站规则。
  

   浏览器输入远程服务器IP加端口 15672 访问,如下图即为配置成功。
  

   注意:
guest 默认用户只能利用 localhost 本地访问,远程访问请利用自定义用户
如必须远程利用 guest 需要更改 RabbitMQ 相关服务配置(不建议)。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户云卷云舒

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表