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

相关推荐
2***s6729 分钟前
【Go】Go语言基础学习(Go安装配置、基础语法)
服务器·学习·golang
韩曙亮1 小时前
【人工智能】AI 人工智能 技术 学习路径分析 ① ( Python语言 -> 微积分 / 概率论 / 线性代数 -> 机器学习 )
人工智能·python·学习·数学·机器学习·ai·微积分
辞旧 lekkk1 小时前
【c++】封装红黑树实现mymap和myset
c++·学习·算法·萌新
LO嘉嘉VE2 小时前
学习笔记二十一:深度学习
笔记·深度学习·学习
代码游侠3 小时前
学习笔记——数据结构学习
linux·开发语言·数据结构·笔记·学习
雍凉明月夜4 小时前
视觉opencv学习笔记Ⅲ
笔记·opencv·学习
组合缺一5 小时前
Solon AI 开发学习6 - chat - 两种 http 流式输入输出
python·学习·http
陈天伟教授5 小时前
机器学习方法(4)强化学习(试错学习)
人工智能·学习·机器学习
代码游侠7 小时前
日历的各种C语言实现方法
c语言·开发语言·学习·算法
一只侯子14 小时前
Face AE Tuning
图像处理·笔记·学习·算法·计算机视觉