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多路复用、顺序读写、压缩批处理

相关推荐
徒 花14 分钟前
HCIP学习19 BGP 跨自治系统互通综合实验
网络·学习·智能路由器·hcip·ensp
码喽7号16 分钟前
vue学习六:状态管理VueX
javascript·vue.js·学习
jiayong2316 分钟前
第 13 课:分页、页码状态和 URL 同步
开发语言·前端·javascript·vue.js·学习
xuhaoyu_cpp_java37 分钟前
MySql学习(四)
数据库·经验分享·笔记·sql·学习·mysql
鸿儒51741 分钟前
中医学习首篇笔记
笔记·学习·中医
楼田莉子1 小时前
Linux网络:IP协议
linux·服务器·网络·c++·学习·tcp/ip
三品吉他手会点灯1 小时前
STM32F103 学习笔记-21-串口通信(第4节)—串口发送和接收代码讲解(上)
笔记·stm32·单片机·嵌入式硬件·学习
Cat_Rocky1 小时前
docker简单学习
学习·docker·容器
qingwufeiyang_5302 小时前
Mybatis-plus学习笔记1
笔记·学习·mybatis
bingd012 小时前
慕课网、CSDN、菜鸟教程…2026 国内编程学习平台实测对比
java·开发语言·人工智能·python·学习