标签:rabbitmq 选择 boot 返回 增量 消息 private 修改 异常情况
如果您更喜欢看视频教程,可以看本头条号发布的视频教程,绝对大白话,手把手带你体验整个冲突的演示过程及解决方案:两种方式,随机挑选 缓存架构之实战演练基于zk分布式锁解决分布式缓存并发冲突问题
**功能:**为媒体提供广告的源头服务
生产者在使用publisher confirm机制的时候,发送完一条消息等待RabbitMQ返回确认通知,此时网络断开,生产者捕获到异常情况,为了确保消息可靠性,选择重新发送,这样RabbitMQ中就有两条同样的消息。这样,在消费者消费的时候,就会重复消费,尤其是在交易系统/充值系统/银行转账系统……中,这问题就大了。
这里进介绍下思路,简单说下处理方案,后面我们将分布式事务的时候,再详细介绍可靠性这一块
public class AdMessage {
/**
* 操作类型:1为新增,2是修改
*/
private int operation;
/**
* 主键字段,值为具体的ID值
*/
private Long id;
/**
* 消息的唯一key:用于消息去重
*/
private String uuidKey;
/**
* 广告信息:
*/
private String content;
}
代码下载地址:https://gitee.com/jikeh/JiKeHCN-RELEASE.git
项目名: 广告服务系统:spring-boot-ad-service 缓存服务系统:spring-boot-cache 广告管理系统:spring-boot-ad
标签:rabbitmq 选择 boot 返回 增量 消息 private 修改 异常情况
原文地址:https://www.cnblogs.com/java188/p/12123658.html