2.RabbitMQ介绍

RabbitMQ介绍

1.AMQP

1.1:AMQP协议简单介绍

  1. 全称是:Advanced Message Queuing Protocol(高级消息队列协议)
  2. 由摩根大通集团联合其他公司共同设计
  3. 是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准
  4. 为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制
  5. Erlang语言中的AMQP实现有RabbitMQ

1.2:AMQP协议模型

在这里插入图片描述
在这里插入图片描述

2.RabbtiMQ中各个概念详解

2.1:Broker

  1. 消息队列服务器实体
  2. 又称之为Server

2.2:Virtual Host

  1. 虚拟主机/虚拟地址
  2. 用于进行逻辑隔离
  3. 表示一批交换器、消息队列和相关对象
  4. Virtual Host是AMQP概念的基础,必须在连接时指定,RabbitMQ默认的vhost是 /
  5. 每个vhost本质上就是一个mini版的RabbitMQ服务器,拥有自己的队列、交换器、绑定和权限机制

2.3:Exchange

  1. 交换机
  2. 用来接收生产者发送的消息并根据消息的路由键和交换机的绑定的路由键将这些消息路由给服务器中的队列
  3. Exchenge有4中类型Direct(默认)、Fanout、Topic和Headers
  4. 不同类型的Exchange转发消息的策略有所有区别

2.4:Queue

  1. 队列
  2. 用来保存消息直到发送给消费者
  3. 一个消息可进入一个或多个队列
  4. 消息一直在队列里面,等待消费者连接到这个队列将其取走

2.5:Binngding

  1. 这个指的是交换机与队列的绑定
  2. 交换机与队列的绑定关系是多对多
  3. 可以绑定多次但路由键不能一样
  4. 绑定的时候要指定这个绑定关系的路由键

2.6:Routing Key

  1. 路由键
  2. 路由键实际上就是一个字符串
  3. 在绑定与消息里面里面都会有这个路由键
  4. 当交换机的类型为Direct的时候,如果消息的路由键与绑定的路由键一样那么就会把消息路由到相应的队列中

2.7:Message

  1. 消息
  2. 消息队列存储的数据
  3. 消息由Properties和Body(Payload)组成

2.8:Producer

  1. 消息的生产者
  2. 负责生产消息然后把消息发送到RabbitMQ的交换机上
  3. 交换机会自动根据消息的路由键以及交换机的类型和绑定发送到相应队列中

2.9:Consumer

  1. 消息的消费者
  2. 负责订阅队列
  3. 当被订阅的队列有消息的时候消息会把消息推送给消费者

3.RabbitMQ的特点

  1. 多种选择——RabbitMQ提供提供了多种功能让你在可靠性和性能之间做出权衡,这些功能包括(消息持久化,事务,发送应答,发布确认等等)。
  2. 支持多客户端——对主流开发语言(Python、Java、Ruby、PHP、C#、JavaScript、 Go、Elixir、Objective-C、Swift 等)都有客户端实现。
  3. 集群——集群模式十分丰富(HA模式 镜像队列模型)。
  4. 权限管理——通过用户与虚拟机实现权限管理。
  5. 插件系统——支持各种丰富的插件扩展,同时也支持自定义插件。
  6. 与Spring集成——Spring对AMQP进行了封装对于Java开发人员很友好

4.后续所有章节的参考链接

官网——https://www.rabbitmq.com/download.html

Erlang与RabbitMQ版本对应——https://www.rabbitmq.com/which-erlang.html

Docker hub——https://www.rabbitmq.com/download.html

Windows手动安装参考链接——https://www.rabbitmq.com/install-windows-manual.html

Windows高级安装方式参考链接——https://www.rabbitmq.com/install-windows.html

Debian和Ubuntu安装指南——https://www.rabbitmq.com/install-debian.html

基于RPM的Linux安装指南——https://www.rabbitmq.com/install-rpm.html

UNIX通用二进制安装指南——https://www.rabbitmq.com/install-generic-unix.html

rabbitmq.conf参考——https://www.rabbitmq.com/configure.html

cli参考——https://www.rabbitmq.com/cli.html

ctl参考——https://www.rabbitmq.com/rabbitmqctl.8.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值