摘要: 使用场景 RabbitMQ 从 3.6.0 版本开始引入了惰性队列的概念。惰性队列会尽可能的将消息存入磁盘中,而在消费者消费到相应的消息时才会被加载到内存中,它的一个重要的设计目标是能够支持更长的队列,即支持更多的消息存储。当消费者由于各种各样的原因(比如消费者下线、宕机亦或者是由于维护而关闭等)而 阅读全文
posted @ 2021-09-09 10:09 hp柠檬茶 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 使用场景 在我们系统中有一个订单催付的场景,我们的客户在天猫下的订单,淘宝会及时将订单推送给我们,如果在用户设定的时间内未付款那么就会给用户推送一条短信提醒,很简单的一个功能对吧,但是,tmall商家对我们来说,肯定是要分大客户和小客户的对吧,比如像苹果,小米这样大商家一年起码能给我们创造很大的利润 阅读全文
posted @ 2021-09-09 10:07 hp柠檬茶 阅读(216) 评论(1) 推荐(0) 编辑
摘要: 概念 用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。 举个最简单的例子,那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异常,此时钱已经扣了,用户再次点击按钮,此时会进行第二次扣款,返回结果成功,用户查询余额发现多扣钱了,流水记录也变成 阅读全文
posted @ 2021-09-09 10:05 hp柠檬茶 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 1 搭建项目 1.1 创建springboot项目 使用idea创建 Spring Initializr 1.2 添加依赖 <dependencies> <!--RabbitMQ 依赖--> <dependency> <groupId>org.springframework.boot</groupI 阅读全文
posted @ 2021-09-08 15:17 hp柠檬茶 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 1 死信队列 1.1 死信的概念 先从概念解释上搞清楚这个定义,死信,顾名思义就是无法被消费的消息,字面意思可以这样理解,一般来说,producer 将消息投递到 broker 或者直接到 queue 里了,consumer 从 queue 取出消息进行消费,但某些时候由于特定的原因导致 queue 阅读全文
posted @ 2021-09-08 14:50 hp柠檬茶 阅读(1222) 评论(0) 推荐(0) 编辑
摘要: 上一讲,我们创建了一个工作队列。我们假设的是工作队列背后,每个任务都恰好交付给一个消费者(工作进程)。在这一部分中,我们将做一些完全不同的事情-我们将消息传达给多个消费者。这种模式称为 ”发布/订阅”. 为了说明这种模式,我们将构建一个简单的日志系统。 它将由两个程序组成:第一个程序将发出日志消息, 阅读全文
posted @ 2021-09-03 14:57 hp柠檬茶 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 发布确认原理 生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的 阅读全文
posted @ 2021-09-03 14:41 hp柠檬茶 阅读(1451) 评论(0) 推荐(0) 编辑
摘要: 消息应答 概念 消费者完成一个任务可能需要一段时间,如果其中一个消费者处理一个长的任务并仅只完成了部分突然它挂掉了,会发生什么情况。 RabbitMQ 一旦向消费者传递了一条消息,便立即将该消息标记为删除。在这种情况下,突然有个消费者挂掉了,我们将丢失正在处理的消息。以及后续发送给该消费这的消息,因 阅读全文
posted @ 2021-09-02 16:46 hp柠檬茶 阅读(279) 评论(0) 推荐(0) 编辑
摘要: Work Queues 工作队列(又称任务队列)的主要思想是避免立即执行资源密集型任务,而不得不等待它完成。相反我们安排任务在之后执行。我们把任务封装为消息并将其发送到队列。在后台运行的工作进程将弹出任务并最终执行作业。当有多个工作线程时,这些工作线程将一起处理这些任务。 轮训分发消息 在这个案例中 阅读全文
posted @ 2021-09-02 16:36 hp柠檬茶 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 来自尚硅谷rabbitmq Hello World 引入依赖 <!--rabbitmq 依赖客户端--> <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>5.8.0< 阅读全文
posted @ 2021-09-02 16:31 hp柠檬茶 阅读(113) 评论(0) 推荐(0) 编辑