自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 记一次Kafka消费消息防丢失和重复的解决方案

例如,对于新增用户相关的kafka消息,可以将用户的唯一标识作为消息的唯一标识处理,当用户标识在系统的数据库中出现,便可以认为这条消息是重复的。订阅拉取三个topic的消息,然后根据消息类型分别进行不同的处理。手动提交偏移量的一个弊端就是有可能实现消费的阻塞,因为偏移量的提交总是在消息处理的逻辑之后,而如果处理过程中出错,导致偏移量无法正常提交,就会一直循环消费这几条问题消息。防止消费阻塞,即当消息失败次数过多(超过阈值)的时候,将失败消息记录,并跳过该消息的处理,继续处理后续消息,并正常提交偏移量。

2024-12-27 17:15:49 1193

原创 记一次Java反射的简单使用方式

这段代码通过反射机制,动态地获取optPo对象的所有字段,然后检查每个字段的值是否为非null,以确定是否需要执行更新操作。核心逻辑获取所有字段(除id外)的值。如果存在任意一个字段的值不为null,则表示有需要更新的内容。根据是否有需要更新的内容,决定是否执行更新操作。

2024-12-10 10:44:16 862

原创 记录一种系统用户跨时区动态展示和存储的方案,并解决SimpleDateFormat的线程安全问题

规定日期格式、请求头当中时区对应的字段常量。定义一个Concurrenthashmap,用于缓存请求中用过的时区信息。提供一个获取请求当中时区的方法。/*** TimeZone::getTimeZone有锁* 缓存TimeZone*///从当前请求中获取TimeZone= null) {每次请求来临时,通过获取独立的实例。调用parse或format方法时,获取当前请求的时区。根据当前请求的时区设置实例的时区。最后调用父类的parse或format。

2024-11-21 19:38:04 1035

原创 SSO系统与下游系统通过Kafka传递消息时数据不一致的问题排查和解决

问题:更新记录时,员工id-新的主部门id作为表的主键,可能表中已经存在对应的记录导致更新失败(因为员工的非主部门中可能有这个部门,他作为负责人在里面,但是在A系统他并不属于那个部门)4、人员信息变更问题,根据mq新字段--变更人员所属的所有部门,防止主键冲突问题,更改对应部门的主部门表示字段。所属部门:先调B系统api查询人员的部门数据,主部门路径dept_id_path对比A系统会的人员的部门路径。4、人员信息变更的消息:人员变更时,添加字段----该人员所有负责部门的信息。

2024-11-19 19:44:42 361 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除