9.30学习

1.如何保证顺序消费

●单 topic,单partition,单 consumer,单线程消费,吞吐量低,不推荐

●如只需保证单key有序,为每个key申请单独内存 queue,每个线程分别消费一个内存 queue 即可,这样就能保证单key(例如用户id、活动id)顺序性。

2.(线上)如何解决积压消费

●修复consumer,使其具备消费能力,并且扩容N台

●写一个分发的程序,将Topic均匀分发到临时Topic中

●同时起N台consumer,消费不同的临时Topic

3.如何避免消息积压

●提高消费并行度

●批量消费

●减少组件IO的交互次数

●优先级消费

4.如何设计消息队列

需要支持快速水平扩容,broker+partition,partition放不同的机器上,增加机器时将数据根据topic做迁移,分布式需要考虑一致性、可用性、分区容错性

●一致性:生产者的消息确认、消费者的幂等性、Broker的数据同步

●可用性:数据如何保证不丢不重、数据如何持久化、持久化时如何读写

●分区容错:采用何种选举机制、如何进行多副本同步

●海量数据:如何解决消息积压、海量Topic性能下降

性能上,可以借鉴时间轮、零拷贝、IO多路复用、顺序读写、压缩批处理

相关推荐
Eternity∞13 小时前
数据结构基础
c语言·开发语言·数据结构·学习·vim
今儿敲了吗13 小时前
32| 伐木
数据结构·笔记·学习·算法
啊阿狸不会拉杆14 小时前
《计算机视觉:模型、学习和推理》第 11 章-链式模型和树模型
人工智能·学习·算法·机器学习·计算机视觉·hmm·链式模型
今天你TLE了吗14 小时前
JVM学习笔记:第五章——堆内存
java·jvm·笔记·后端·学习
你怎么知道我是队长14 小时前
前端学习---HTML---文本标签
前端·学习·html
每天都要加加油王得坤14 小时前
langchain学习笔记
笔记·学习·langchain
2501_9181269114 小时前
怎么接usb转杜邦线到stm32上
stm32·单片机·嵌入式硬件·学习·个人开发
linux_cfan14 小时前
第四篇:像敏捷开发一样迭代人生——控制论与真正的高级智能
学习·敏捷流程
炽烈小老头14 小时前
【每天学习一点算法 2026/02/24】矩阵置零
学习·算法·矩阵
●VON14 小时前
HarmonyOS应用开发实战(基础篇)Day12 -《打造专业级底部导航栏》
学习·华为·harmonyos·von