获得徽章 10
#每天一个知识点#
RabbitMQ 如何避免消息重复消费
方式1: 消息全局 ID 或者写个唯一标识(如时间戳、UUID 等) :每次消费消息之前根据消息 id 去判断该消息是否已消费过,如果已经消费过,则不处理这条消息,否则正常消费消息,并且进行入库操作。(消息全局 ID 作为数据库表的主键,防止重复)

方式2: 利用 Redis 的 setnx 命令:给消息分配一个全局 ID,消费该消息时,先去 Redis 中查询有没消费记录,无则以键值对形式写入 Redis ,有则不消费该消息。
展开
2
#每天一个知识点# kafka三种能力

1、数据的发布和订阅能力(消息队列)

2、数据的分布式存储能力(存储系统)

3、数据的实时处理能力(流处理引擎)
展开
评论
#每天一个知识点# 在 Java 程序设计语言中,接口不是类,而是对希望符合这个接口的类的一组需求。
评论
#每天一个知识点# Java是如何处理异常的?
3
#每天一个知识点# 雪崩
现象:缓存雪崩是指在我们设置缓存时采用了相同的过期时间,导致缓存在某一时刻同时失效,请求全部转发到DB,DB瞬时压力过重雪崩(由于原有缓存失效,新缓存未到期间);

解决方案:考虑用加锁或者队列的方式保证来保证不会有大量的线程对数据库一次性进行读写,从而避免失效时大量的并发请求落到底层存储系统上;还有一个解决方案,原有的失效时间基础上增加一个随机值;
展开
评论
#每天一个知识点# Redis是一个key-value存储系统,它支持存储的value类型相对更多,包括string、list、set、zset(sorted set --有序集合)和hash。
评论
#每天一个知识点# Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。
评论
赞了这篇沸点
#与A-SOUL一起成为更好的自己# 爸爸在屋顶修葺,妈妈在屋檐刷鞋,我在屋前晒着太阳看着书。本来我在屋前,爸爸扔了一块碎瓦片下来,我说“爸爸,我在下面,不要砸到我”妈妈附和说:“你要搬远点,搬到叔那头去”。我回了一句:“好的,那我走”
韭菜包子铺于2023-06-19 10:39发布的图片
评论
#每天一个知识点# ⾯向对象(OOP)就是Java语⾔的基础,也是Java语⾔的重要特性。
1
#每天一个知识点# RocketMQ主要的存储文件包括commitlog文件、consumequeue文件、indexfile文件。
评论
#每天一个知识点# IOC-Inversion of Control,即控制反转。它不是什么技术,而是一种设计思想。
1
#每天一个知识点# 接口和抽象类有什么区别?
1
#每天一个知识点# 面向对象编程三大特性 --封装、继承、多态
6
#每天一个知识点# 如何使用redis分布式锁?
评论
#我的小时候# 小时候,无忧无虑,自由自在,有梦想,有精力,现在长大了,只想摆烂
1
我也不是非要去那座城堡~~
5
各位鱼王,下班了,冲啊啊啊啊啊啊啊啊啊啊啊啊啊啊
评论
庐州月光 洒在心上
月下的你不复当年模样
太多的伤 难诉衷肠
叹一句当时只道是寻常
13
周一了,让我们一起 ctrl
6
下一页
个人成就
文章被点赞 2
文章被阅读 353
掘力值 16
收藏集
3
关注标签
14
加入于