RabbitMq
Skr郎
看什么?6,你和我,走一波!
展开
-
14 RabbitMQ解决分布式事务
1 原理最终一致性原理2 必要条件确认生产者将信息投递到MQ服务器中(采用MQ确认机制) 生产者向MQ发送消息失败,采用重试机制确认消费者能正确的消费消息,采用手动ACK模式(注意幂等性问题) 消费者消费消息失败,生产者无需回滚 ...原创 2019-12-26 15:49:15 · 233 阅读 · 0 评论 -
13 死信队列
文章目录1 图解2 消息如何进入死信队列3 应用场景4 代码样例4.1 生产者4.2 消费者5 注意事项1 图解2 消息如何进入死信队列消息过期队列长度已满消息被拒绝且不再重新尝试3 应用场景在定义业务队列时,指定一个死信交换机,并绑定一个死信队列当消息变成死信时,该消息就会被发送到该死信队列上这样就方便我们查看消息失败的原因4 代码样例4.1 生产者/*** 定...原创 2019-12-26 14:37:51 · 174 阅读 · 0 评论 -
12 补偿机制
文章目录1 出现场景2 实现原理2.1 @RabbitListener3 自定义重试4 如何选择重试机制4.1 需要重试4.2 无需重试5 幂等性1 出现场景rabbitmq 默认情况下,如果消费者程序出现异常,会自动实现补偿机制消费者出现异常,消息不会消费成功2 实现原理2.1 @RabbitListener@RabbitListener底层,使用Aop进行拦截,如果程序没有抛出异...原创 2019-12-26 13:53:37 · 763 阅读 · 0 评论 -
11 SpringBoot简单整合RabbitMQ
文章目录1 生产者1.1 代码地址1.2 项目2 消费者2.1 代码地址2.2 项目3 发送消息4 接收消息1 生产者1.1 代码地址https://github.com/3748/RabbitMq.git1.2 项目boot\rabbitmq-producer2 消费者2.1 代码地址https://github.com/3748/RabbitMq.git2.2 ...原创 2019-12-25 16:18:15 · 85 阅读 · 0 评论 -
10 交换机详解
文章目录1 交换机类型1.1 Direct(直连交换机)1.1.1 解释1.1.2 图解1.2 Fanout(扇型交换机)1.2.1 解释1.2.2 图解1.3 Topic(主题交换机)1.3.1 解释1.3.2 图解1.4 Headers(头交换机)1.4.1 解释1.4.2 匹配规则1.5 默认交换机1.5.1 解释1.5.2 默认交换机1.6 Dead Letter Exchange(死信交...原创 2019-12-25 12:01:28 · 1092 阅读 · 0 评论 -
9 通配符模式
文章目录1 图解2 代码3 代码介绍3.1 引入必须依赖3.2 获取MQ连接3.3 消息消费者13.4 消息消费者23.5 消息生产者3.6 启动生产者4 通配符规则1 图解2 代码url: https://github.com/3748/RabbitMq.gitpackage: com.test.rabbitmq.topic3 代码介绍3.1 引入必须依赖p...原创 2019-12-25 10:57:27 · 158 阅读 · 0 评论 -
8 路由模式
文章目录1 图解2 代码3 代码介绍3.1 引入必须依赖3.2 获取MQ连接3.3 消息消费者13.4 消息消费者23.5 消息生产者3.6 启动生产者1 图解2 代码url: https://github.com/3748/RabbitMq.gitpackage: com.test.rabbitmq.routing3 代码介绍3.1 引入必须依赖pom.xm...原创 2019-12-25 10:48:33 · 88 阅读 · 0 评论 -
7 发布订阅模式
.@[TOC]1 图解2 代码url: https://github.com/3748/RabbitMq.gitpackage: com.test.rabbitmq.ps3 代码介绍3.1 引入必须依赖pom.xml3.2 获取MQ连接com.test.rabbitmq.util.ConnectionUtil3.3 消息消费者1com.test.r...原创 2019-12-25 10:18:14 · 141 阅读 · 0 评论 -
2 Rabbit安装--Linux
未完待续[root@root ~]# cd /usr/local/src/[root@root src]# mkdir rabbitmq[root@root src]# cd rabbitmq/[root@root rabbitmq]# wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm-...原创 2019-12-24 14:56:41 · 97 阅读 · 0 评论 -
6 保证消息不丢失
文章目录1 问题背景2 自动确认3 手动确认1 问题背景队列是如何知道消息已经被消费2 自动确认// 自动确认channel.basicConsume(QUEUE_NAME, true, consumer);只要消息从队列中获取,无论消费者获取到消息后是否成功消息,都认为是消息已经成功消费。3 手动确认// 手动确认channel.basicConsume(QUEUE_NA...原创 2019-12-17 20:48:52 · 99 阅读 · 0 评论 -
5 工作队列
文章目录1 图解2 代码3 代码介绍3.1 引入必须依赖3.2 获取MQ连接3.3 消息消费者13.4 消息消费者23.5 消息生产者3.6 启动生产者1 图解2 代码url: https://github.com/3748/RabbitMq.gitpackage: com.test.rabbitmq.work3 代码介绍3.1 引入必须依赖pom.xml3.2 获取...原创 2019-12-17 14:17:47 · 102 阅读 · 0 评论 -
4 简单队列
文章目录1 图解2 代码3 代码介绍3.1 引入必须依赖3.2 获取MQ连接3.3 消息生产者3.4 启动生产者3.5 消息消费者3.6 启动消费者1 图解2 代码url: https://github.com/3748/RabbitMq.gitpackage: com.test.rabbitmq.simple3 代码介绍3.1 引入必须依赖pom.xml3.2 获...原创 2019-12-17 14:04:37 · 95 阅读 · 0 评论 -
3 Virtual Hosts
文章目录1 添加Virtual Hosts2 创建用户2.1 用户角色2.1.1 超级管理员(administrator)2.1.2 监控者(monitoring)2.1.3 策略制定者(policymaker)2.1.4 普通管理者(management)2.1.5 其他3 Virtual Hosts分配用户3 界面中的功能1 添加Virtual Hosts相当于在mysql中创建一个数据库...原创 2019-12-15 18:23:16 · 1225 阅读 · 0 评论 -
1 Rabbit安装--Windows
文章目录1 安装[Erlang](https://pan.baidu.com/s/1hcO6vevn6gnVj_aFlC_ROA)2 安装[RabbitMQ](https://pan.baidu.com/s/1zZqtTLKItWYDs8kcw5QgsA)3 启动RabbitMQ4 检验是否安装成功1 安装Erlang1.1 类似于java开发需要jdk,RabbitMQ开发需要Erlan1...原创 2019-12-12 10:04:15 · 124 阅读 · 0 评论