rabbitmq
文章平均质量分 55
rabbitmq
Insist___
这个作者很懒,什么都没留下…
展开
-
1-14SimpleMessageListenerContainer
文章目录概念在上一节的 SpringAMQP 之 RabbitTemplate 的 RabbitMQConfig 原有代码的基础上加上概念这个类非常的强大,我们可以对他进行很多的设置,用对于消费者的配置项,这个类都可以满足。它有监听单个或多个队列、自动启动、自动声明功能。它可以设置事务特性、事务管理器、事务属性、事务并发、是否开启事务、回滚消息等。但是我们在实际生产中,很少使用事务,基本都是...原创 2020-02-25 09:56:52 · 497 阅读 · 0 评论 -
1-13SpringAMQP 之 RabbitTemplate
文章目录RabbitTemplate 即消息模板1.1先实例化 RabbitTemplate1.1在单元测试类 ApplicationTests 里面写个方法发送消息RabbitTemplate 即消息模板1.1先实例化 RabbitTemplate在 RabbitMQConfig 里面加上: @Bean //connectionFactory 也是要和最上面方法名保持一致 ...原创 2020-02-25 09:44:16 · 304 阅读 · 0 评论 -
1-12SpringAMQP 用户管理组件 RabbitAdmin 以及声明式配置
文章目录概念Spring整合RabbitAdmin1.1 引入依赖1.2 添加配置1.3测试1.4添加新的声明概念RabbitAdmin 类可以很好的操作 rabbitMQ,在 Spring 中直接进行注入即可。Spring整合RabbitAdmin1.1 引入依赖<dependency> <groupId>com.rabbitmq</groupId...原创 2020-02-24 11:14:03 · 589 阅读 · 1 评论 -
1-11死信队列
文章目录死信队列: DLX,dead-letter-exchange1.1消费者1.2 生产者1.3测试1.3.1 启动消费者1.3.2确认创建成功就关闭消费端,然后再启动生产端,这时候消息没被消费,一直在 test_dlx_queue 中,死信队列: DLX,dead-letter-exchange利用 dlx,当消息在一个队列中变成死信 (dead message) 之后,它能被重新 pu...原创 2020-02-24 10:33:30 · 152 阅读 · 0 评论 -
1-10TTL 消息详解
文章目录概念在在管控台演示1.1 创建一个队列 test10021.2 创建一个交换机 test1002_exchange1.3 测试概念在在管控台演示1.1 创建一个队列 test10021.2 创建一个交换机 test1002_exchange绑定成功1.3 测试在exchange中有删除交换机,发送消息的功能。消息发送成功后,queue 里面就有这个消息记录了...原创 2020-02-24 10:16:20 · 243 阅读 · 0 评论 -
1-9RabbitMQ 消费端 ACK 与重回队列机制
文章目录消费端的手工 ACK 和 NACK1.1 消费者1.2生产者1.3 测试消费端的手工 ACK 和 NACK消费端进行消费的时候,如果由于业务异常导致失败了,返回 NACK 达到最大重试次数,此时我们可以进行日志的记录,然后手动 ACK 回去,最后对这个记录进行补偿。或者由于服务器宕机等严重问题,导致 ACK 和 NACK 都没有,那我们就需要手工进行 ACK 保障消费端消费成功,再...原创 2020-02-24 10:03:06 · 273 阅读 · 0 评论 -
1-8RabbitMQ 消费端的限流策略
文章目录什么是消费者限流?1.1 消费者1.2 生产者(没什么变化)1.3测试1.3.1 自定义消费者中没有开启手动确认1.3.2 自定义消费者中开启手动确认什么是消费者限流?假设一个场景,由于我们的消费端突然全部不可用了,导致 rabbitMQ 服务器上有上万条未处理的消息,这时候如果没做任何现在,随便开启一个消费端客户端,就会导致巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理这...原创 2020-02-23 16:16:52 · 295 阅读 · 0 评论 -
1-7RabbitMQ 的自定义消费者使用
文章目录概念1.1自定义消费者1.2 消费者1.3 生产者概念之前的文章里面,我都是在消费端的代码里面编写 while 循环,进行 consumer.nextDelivery 方法进行获取下一条消息,然后进行消费处理,这种方式太 low 了,耦合性太高,所以要使用自定义的 consumer 来解耦,这种方式更方便一些,也是在实际工作中最常用的使用方式1.1自定义消费者package com...原创 2020-02-23 15:52:56 · 315 阅读 · 0 评论 -
1-6 confirm 消息确认机制和 return 消息机制
文章目录1 confirm确认机制1.1 生产者1.2 消费者1.3测试2 return 消息机制2.1 生产者2.2 消费者2.3 测试1 confirm确认机制消息的确认是指生产者投递消息后,如果 Broker 接收到消息,则会给生产者一个应答。生产者进行接收应答,用来确认这条消息是否正常的发送到 Broker,这种方式也是消息可靠性投递的核心保障。其流程图如下所示实现 confirm...原创 2020-02-23 15:47:12 · 560 阅读 · 0 评论 -
1-5幂等性概念及业界主流解决方案
文章目录1什么是幂等性2消费端的幂等性保障2.1 .唯一 ID + 指纹码 机制1什么是幂等性比如库存有100件商品,当卖到1件的时候,如果有个并发问题,两个请求同时过来,再去减的话,有可能是-1. 解决办法就是加个version版本号。更新的时候也要对version+1.1先去查库存表,当前的版本号是多少,例如1.2并发的时候,可能查出来的都是1.但是我们更新的时候是version=1...原创 2020-02-23 14:47:10 · 236 阅读 · 0 评论 -
1-4消费如何保证100% 的投递成功
文章目录1 什么是生产端的可靠性投递2互联网大厂的解决方案:2.1消息落库,对消息状态进行打标2.2 消息的延迟投递,做二次确认,回调检查1 什么是生产端的可靠性投递生产端在投递消息的的时候失败啦,没有收到任何结果 或者 生产者投递消息啦,mq也接受到啦,在返回确认应答的时候 ,网络突然换啦,导致生产端没有收到应答,可能出现一个问题,不知道失败还是成功,所以得用补偿机制2互联网大厂的解决方...原创 2020-02-23 14:30:24 · 225 阅读 · 0 评论 -
1-3mq之交换机
文章目录exchange属性1 Direct Exchange1.1 代码展示exchange属性1 Direct Exchange1.1 代码展示原创 2020-02-23 11:23:47 · 387 阅读 · 0 评论 -
1-2 生产者消费者代码的编写
文章目录1 引入依赖2 编写消费者3编写生产者3 测试3.1 启动消费者,看控制台的变化3.2 启动生产者,看控制台变化3.3为什么要先启动消费者,再启动生产者?3.4当有啦队列,可以先启动生产者,在启动消费者3.4.1启动生产者后的生产者控制台3.4.1再启动消费者3.5channel.basicPublish("", "test001", null, msg.getBytes());1 引入...原创 2020-02-22 18:24:20 · 495 阅读 · 0 评论 -
1-1在Linux安装rabblitmq
文章目录安装开设端口访问安装https://www.jianshu.com/p/322fce62df9b开设端口https://blog.csdn.net/weixin_37264997/article/details/80329786访问账户:admin密码:admin原创 2020-02-22 15:42:45 · 240 阅读 · 0 评论