KAFKA三层队列设计DDD思想

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

Kafka异步3层队列异步架构设计


一、KAFKA服务端

先来一个图

在这里插入图片描述

二、Kafka 网络请求 DDD面向对象设计图

程序设计,是现实世界的抽象,
看图1,整体设计清晰,缺少具体到面向对象设计细节。
DDD: 把源码的生产消息流程的,简单画一个DDD图,让大家印象更深刻。
在这里插入图片描述
其实,三层队列设计(Processor, RequestChannel,KafkaRequestHandler)三种不同的线程,并发处理任务请求和响应。

这个图简化了很多细节,让大家更专注在队列异步设计,多线程间信息交互设计有更深的体会。

三、 DDD图 手写版

画电子版,耗时比较久,学习过程中,更多手画DDD图,字比较潦草
主要给大家启发,和我把笔记做个电子版保存,正在学写字哈,明年回来,再比对一下进步多少。

3.1 kafka启动、线程状态更新

在这里插入图片描述

3.2processor run线程 整体 以及读数据设计

在这里插入图片描述

leader选举成功后,创建fetcher线程,以及HW、LEO更新

在这里插入图片描述

日志具体写数据流程、以及数据清理

在这里插入图片描述

发送响应DDD设计

在这里插入图片描述

总结

Kafka多层队列,DDD设计很简洁,非常适合大家学习,我也参考kafka三层队列通信,写了个文件上传下载功能,后期放到github上,提供大家学习。

学习源码一个很好的方式:画DDD图。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值