赞
踩
消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性[架构] 使用较多的消息队列有 ActiveMQ(安全),RabbitMQ,ZeroMQ,Kafka(大数据),MetaMQ,RocketMQ
以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景
RabbitMQ
是一个由 Erlang 语言开发的 AMQP 的开源实现。
AMQP
:Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。
RabbitMQ
最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:
可靠性(Reliability)
RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认。2.灵活的路由(Flexible Routing)
在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ已经提供了一些内置的 Exchange 来实现。针对更复杂的路由功能,可以将多个Exchange 绑定在一起,也通过插件机制实现自己的 Exchange 。
消息集群(Clustering)
多个 RabbitMQ 服务器可以组成一个集群,形成一个逻辑 Broker
高可用(Highly Available Queues)
队列可以在集群中的机器上进行镜像,使得在部分节点出问题的情况下队列仍然可用。
多种协议(Multi-protocol)
RabbitMQ 支持多种消息队列协议,比如 STOMP、MQTT 等等。
多语言客户端(Many Clients)
RabbitMQ 几乎支持所有常用语言,比如 Java、.NET、Ruby 等等。
管理界面(Management UI)
RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息 Broker 的许多方面。
跟踪机制(Tracing)
如果消息异常,RabbitMQ 提供了消息跟踪机制,使用者可以找出发生了什么。
插件机制(Plugin System)
RabbitMQ 提供了许多插件,来从多方面进行扩展,也可以编写自己的插件。
因为RabbitMQ
服务器是用Erlang
语言编写的, 所以,你需要去查看rabbitMq
适应Erlang
的版本,因为不同的rabbitMq
版本对应不同的Erlang
版本,可以点击如下该链接查看版本匹配度:
https://www.rabbitmq.com/which-erlang.html#compatibility-matrix
如果你的网络访问GitHub
或者erlang官网
比较卡,可以直接通过博主分享的网盘进行下载:
erlang
版本:otp_win64_25.2.1.exe
RabbitMQ
版本:rabbitmq-server-windows-3.11.0.zip
网盘下载地址:https://pan.baidu.com/s/1UEuBsfbszCYiKjVXHALKgg?pwd=40a5
如果其它版本,继续参考下文:
erlang
官方下载地址:https://erlang.org/download/otp_versions_tree.html
可以根据RabbitMQ
的版本下载对应的erlang
版本。
我这里下载的是25.2.1
,win64
的版本哟
RabbitMQ
下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.11.0
可以直接从GitHub
上面下载,如果是其他版本,可以直接替换上面链接的版本号即可。
我们这里以3.11.0
版本为例,讲解具体的安装步骤。
注意:不要使用exe执行文件进行安装,使用时会出现错误(例如:Error: {:unable_to_load_rabbit, {‘no such file or directory’, ‘rabbit.app’}}),暂未找到原因。
所以,我们下载压缩包进行解压安装(最新版本一般没有压缩包,上一个版本会有)
otp_win64_25.2.1.exe
别问我在哪里配置,问我就让你百度
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。