RabbitMQ安装
RabbitMQ是什么?
RabbitMQ是一个开源的消息队列系统,它实现了高级消息队列协议(AMQP)。它是一个轻量级的、易于部署的企业级消息代理,用于在分布式系统中存储和转发消息。RabbitMQ使用Erlang编写的,并支持多种编程语言客户端。
消息队列(Queues):
消息队列是存储消息的缓冲区。生产者将消息发送到队列中,消费者从队列中接收消息。
交换器(Exchanges):
交换器是消息路由的组件。生产者将消息发送到交换器,而不是直接发送到队列。交换器根据路由键(Routing Key)将消息路由到一个或多个队列。
绑定(Bindings):
绑定是交换器和队列之间的关系。通过绑定,可以定义交换器如何将消息路由到特定的队列。
虚拟主机(Virtual Hosts):
虚拟主机是隔离的RabbitMQ环境,用于分离不同租户和应用程序。每个虚拟主机都有自己的交换器、队列和绑定。
消息持久化:
RabbitMQ支持消息持久化,确保在RabbitMQ服务器重启后消息不会丢失。
事务和确认:
RabbitMQ支持事务和发送方确认(publisher confirms)来确保消息的可靠传递。
高可用性和集群:
RabbitMQ支持集群模式,可以实现高可用性和负载均衡。多个RabbitMQ服务器可以组成一个集群,共同工作以提高性能和可靠性。
插件和扩展:
RabbitMQ有一个丰富的插件系统,可以通过插件来扩展RabbitMQ的功能,例如管理界面、监控工具、消息流处理等。
多种消息传递模式:
RabbitMQ支持多种消息传递模式,包括点对点(Point-to-Point)、发布/订阅(Publish/Subscribe)、请求/响应(Request/Reply)等。
客户端库:
RabbitMQ提供了多种编程语言的客户端库,包括Java、Python、Ruby、PHP、C#等,方便开发者集成RabbitMQ到他们的应用程序中。
RabbitMQ广泛应用于各种场景,如异步处理、应用解耦、负载均衡、分布式系统间的消息传递等。它的设计目标是可靠、灵活和易于扩展,以满足不同规模和需求的企业级应用。
RabbitMQ下载
#这里windows系统
https://www.rabbitmq.com/docs/install-windows
Erlang下载
https://www.erlang.org/downloads
运行RabbitMQ管理插件
如果没打开管理插件这里是打不开的
http://localhost:15672/
在安装目录sbin目录下运行以下命令:
E:\step_up\RabbitMQ Server\rabbitmq_server-3.13.3\sbin>rabbitmq-plugins list
正常启动的服务应该是如下所示,E和e分别表示显性和隐性启动,如果没有E和e,这也就是你打不开localhost:15672的原因所在,可能性很大。那么,就再输入rabbitmq-plugins enable rabbitmq_management基本就可以解决打不开的问题了。
E:\step_up\RabbitMQ Server\rabbitmq_server-3.13.3\sbin>rabbitmq-plugins enable rabbitmq_management
在运行即可
http://localhost:15672
用户密码:guest/guest
常用命令
--创建用户
rabbitmqctl add_user myName mypassWord
--赋予权限
rabbitmqctl set_permissions -p / myName ".*" ".*" ".*"
-- 查看队列
rabbitmqctl list_queues
--创建交换机
py rabbitmqadmin declare exchange name=exchange_ug_message durable=true auto_delete=false type=fanout
--创建队列
py rabbitmqadmin declare queue name=queue_ug_message auto_delete=false durable=true --username=guest --password=guest
--绑定
py rabbitmqadmin declare binding source=exchange_ug_message destination=queue_ug_message routing_key=ug_message_routingkey