第三章 急速入门新版RabbitMQ核心概念+环境说明
第1集 什么是RabbitMQ消息队列和核心概念介绍
简介:介绍RabbitMQ消息队列
RabbitMQ:http://www.rabbitmq.com/
是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、C、用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不错,与SpringAMQP完美的整合、API丰富易用
文档:https://www.rabbitmq.com/getstarted.html
核心概念, 了解了这些概念,是使用好RabbitMQ的基础
Broker
RabbitMQ的服务端程序,可以认为一个mq节点就是一个broker
Producer生产者
创建消息Message,然后发布到RabbitMQ中
Consumer消费者:
消费队列里面的消息
Message 消息
生产消费的内容,有消息头和消息体,也包括多个属性配置,比如routingKey路由键
Queue 队列
是RabbitMQ 的内部对象,用于存储消息,消息都只能存储在队列中
Channel 信道
一条支持多路复用的通道,独立的双向数据流通道,可以发布、订阅、接收消息。
信道是建立在真实的TCP连接内的虚拟连接,复用TCP连接的通道
Connection连接
是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑,一个连接上可以有多个channel进行通信
Exchange 交换器
生产者将消息发送到 Exchange,交换器将消息路由到一个或者多个队列中,里面有多个类型,后续再一一介绍,队列和交换机是多对多的关系。
RoutingKey 路由键
生产者将消息发给交换器的时候,一般会指定一个RoutingKey,用来指定这个消息的路由规则
最大长度255 字节
Binding 绑定
通过绑定将交换器与队列关联起来,在绑定的时候一般会指定一个绑定键 ( BindingKey ),这样 RabbitMQ 就知道如何正确地将消息路由到队列了
Virtual host 虚拟主机
用于不同业务模块的逻辑隔离,一个Virtual Host里面可以有若干个Exchange和Queue,同一个VirtualHost 里面不能有相同名称的Exchange或Queue
默认是 /
/dev
/test
/pro
生产者将消息发送给交换器时,需要一个RoutingKey,当BindingKey和 RoutingKey相匹配时,消息会被路由到对应的队列中
第2集 安装RabbitMQ 的Linux服务器环境准备说明
简介:安装RabbitMQ相关Linux服务器
RabbitMQ安装方式
安装文档 https://www.rabbitmq.com/download.html
源码安装
依赖多、且版本和维护相对复杂
需要erlang环境、版本也是有要求
docker镜像安装【推荐】
不用安装其他相关依赖,容器化部署是趋势
方便管理维护,企业多采用这个方式
Linux服务器准备:CentOS7.x以上即可, 根据个人能力选择哪种
本地虚拟机
不同系统容易出现确实依赖库,硬件也存在不兼容
阿里云ECS服务器 【推荐,2核4g】
统一环境,公司多基本都是用云服务器,对于工作上帮助大
本地开发
IDEA旗舰版 + JDK8 / JDK11 + Maven3.5以上 + SpringBoot2.X
总结
接下来的第四章,如果大家对阿里云ECS和Docker有了解,可以跳过这章