消息队列消息队列RabbitMQ入门与入门与5种模式详解种模式详解
1.RabbitMQ概述
简介:
MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法;
RabbitMQ是开源的,实现了AMQP协议的,采用Erlang(面向并发编程语言)编写的,可复用的企业级消息系统;
AMQP(高级消息队列协议)是一个异步消息传递所使用应用层协议规范,为面向消息中间件设计,基于此协议的客户端与消
息中间件可以无视消息来源传递消息,不受客户端、消息中间件、不同的开发语言环境等条件的限制;
支持主流操作系统:Linux、Windows,MacOX等;
支持多种客户端开发语言:Java、Python、Ruby、.NET,PHP、C/C++、Node.js等
术语说明:
Server(Broker):接收客户端连接,实现AMQP协议的消息队列和路由功能的进程;
Virtual Host:虚拟主机的概念,类似权限控制组,一个Virtual Host里可以有多个Exchange和Queue,权限控制的最小丽都是
Virtual Host;
Exchange:交换机,接收生产者发送的消息,并根据Routing Key将消息路由到服务器中的队列Queue。
ExchangeType:交换机类型决定了路由消息行为,RabbitMQ中有三种类型Exchange,分别是fanout、direct、topic;
Message Queue:消息队列,用于存储还未被消费者消费的消息;
Message:由Header和body组成,Header是由生产者添加的各种属性的集合,包括Message是否被持久化、优先级是多少、
由哪个Message Queue接收等;body是真正需要发送的数据内容;
BindingKey:绑定关键字,将一个特定的Exchange和一个特定的Queue绑定起来。
2.RabbitMQ安装启动与管理
2.1 Windows64位环境下安装RabbitMQ
到RabbitMQ官网下载win64位最新版erlang和rabbitmq-server的安装包,分别是 erlang otp_win64_19.3和rabbitmq-server-
3.6.9。注意安装时计算机全名最好是英文,先安装erlang,再安装rabbitmq-server,根据安装向导,采用默认安装配置即可。
安装完成后,可以从开始-所有程序中找到RabbitMQ Server如下图所示:
点RabbitMQ Command Prompt启动命令行,输入rabbitmq-plugins enable rabbitmq_management