项目小结:Kafka队列有序数据顺序执行 + 高tps + 高吞吐

项目背景

数据交换系统,从 Kafka 中拉取数据(数据按 Id 分组,并在 同一 Partition 中有序排列),系统需要 针对 同一组数据,按序处理。(如 Mysql 的 binlog 日志)

要求尽可能做到 提高 tps 和 吞吐量

设计思路

项目小结:Kafka队列有序数据顺序执行 + 高tps + 高吞吐_第1张图片

Kafka Consumer线程 只负责接收数据,不再处理数据和业务逻辑;另起多线程处理 接收到的数据

Kafka Consumer线程 从 对应 Partition 接收消息,根据 ID 将同组数据 放到同一 队列Queue 中(如 图中的 Queue1 和 Queue2),数据处理线程 一对一 处理 Queue 中的数据

你可能感兴趣的:(项目经验总结)