04 2022 档案
摘要:概述 fanout扇出也称之为广播 在广播模式下,消息发送的流程是这样的,如下所示: 可以有多个消费者。 每个消费者有自己的 queue(队列) 每个队列都要绑定到 Exchange(交换机) 生产者发送的消息,只能发送到交换机,交换机来决定要发给哪个队列,生产者无法决定。 交换机把消息发送给绑定过
阅读全文
摘要:概述 Work Queues,也被称为(Task Queues)任务模型。当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多,无法及时处理。此时就可以使用 work 模型:让多个消费者绑定到一个队列,共同消费队列中的消息。队列中的消息一旦消费,就会消
阅读全文
摘要:概述 在上图的模型中,有以下概念 P:生产者,也就是要发送消息的程序 C:消费者,消息的接受者,会一直等待消息的到来 Queue:消息队列,图中蓝色部分 类似一个邮箱,可以缓存消息 生产者向其中投递消息,消费者从其中取出消息 创建生产者生产消息 代码如下: java /** * @author: B
阅读全文
摘要:AMQP协议的回顾 RabbitMQ支持的消息模式 官方介绍:https://www.rabbitmq.com/getstarted.html 注意 3.7 版本的 RabbitMQ 不支持 第7种 模式 创建一个空项目RabbitMQ-Code 设置名称,设置存放地址 点击了 Finish 之后会
阅读全文
摘要:Overview Overview 概览 connections:无论生产者还是消费者,都需要与 RabbitMQ 建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况 channels:通道,建立连接后,会形成通道,消息的投递获取依赖的通道 Exchanges:交换机,用来实现消息的路由
阅读全文
摘要:名词解释 Message 消息,消息是没有名字的,它由 消息头 和 消息体 组成 消息体是不透明的,而消息头则由一系列的可选属性组成,这些属性包括 routing-key(路由键) priority(相对于其他消息的优先权) delivery-mode(指出该消息可能需要持久性存储)等 Publis
阅读全文
摘要:安装前的说明 RabbitMQ → Erlang → 安装 Erlang 虚拟机 → 跑 RabbitMQ 这种方式比较麻烦 RabbitMQ 对 Docker 的支持非常到位! 官网经常更新镜像,所以怎么办呢 当然是用 Docker 跑啦,嘿嘿 安装RabbitMQ 搭建Docker 确保 Cen
阅读全文
摘要:为什么要使用MQ 微服务架构后,链式调用是我们在写程序的时候都是基本的写法 为了这完成这一个整体功能会把它拆分成多个函数(或子模块) 比如模块 A 调用模块 B,模块 B 调用模块 C,模块 C 调用模块 D 但是大型分布式应用中,系统间的 RPC 交互复杂,一个功能后面要调用上百个接口并非不可能
阅读全文