1. 玩具轮子
ps:本人不喜欢重复造轮子,写下面的这些项目旨在提升代码能力,和一些特定的业务场景不想引入其他繁杂的依赖。
1. ES-ORM
与Mybatis-Plus具有相同API的ES—ORM
设计文档:自研ES-ORM - 掘金 (juejin.cn)
源码: kdk-es-orm: es-orm (gitee.com)
2. API网关
3. 仿字节配置中心
好用的配置中心。
源码: kdk-config-center: 实现字节配置中心,并且增强 (gitee.com)
4. SpringMVC风格RPC调用
无感知 REST 风格 RPC
设计文档:如何设计一款与MVC使用一模一样的RPC框架? - 掘金 (juejin.cn)
源码:kdk-feign: 自研 rpc (gitee.com)
5. 分布式延迟任务框架
方便地提交延迟任务
设计文档:统一延迟任务中台设计 - 掘金 (juejin.cn)
源码: kdk-delay-task: 分布式延迟任务框架 (gitee.com)
6. 优雅mock对象
极其方便地mock对象,好凑数据。
设计思路: 如何优雅Mock一个对象? - 掘金 (juejin.cn)
源码:mock-service: 采用注解mock对象 (gitee.com)
7. Redis里面优雅存储对象
设计思路: 怎么在redis里面优雅地存储一个对象? - 掘金 (juejin.cn)
源码: redis-hash-operator: 如何优雅地在redis里面存储一个对象? (gitee.com)
8. XxlJob动态管理任务SDK
设计思路: 【全链路】基于XxlJob-动态添加定时任务 - 掘金 (juejin.cn)
源码:xxl-job-client: 通过http请求动态创建xxljob任务,用于一些特定的场景。 (gitee.com)
9. 基于XxlJob的本地缓存管理器
源码:xxl-job-local-cache-fix: xxl job local cache fix manager (gitee.com)
10. 内存Join组件
设计文档:基于SpringEL表达式 + 声明式注解的 数据库内存Join组件 - 掘金 (juejin.cn)
源码:kdk-join-in-memory: join in memory (gitee.com)
11. 业务开关
源码:SimpleToggle: SimpleToggle (gitee.com)
12. bean异步初始化组件
设计思路:Spring异步初始化组件 - 掘金 (juejin.cn)
源码:async-initialize-bean: async-initialize-bean (gitee.com)
13. 轻量级有限状态机
14. Mybatis-AOP
简易的AOP实现
设计思路:Mybatis源码-AOP - 掘金 (juejin.cn)
源码: mybatis-aop: mybatis-aop (gitee.com)
15. 基于AOP的熔断降级组件
设计思路:基于AOP的熔断降级 - 掘金 (juejin.cn)
源码: degrete: 基于aop的熔断降级组件 (gitee.com)
16. 模拟实现Spring事件派发机制
设计思路 : Spring事件派发是怎么实现的? - 掘金 (juejin.cn)
源码 : lisener: 模拟spring 事件派发机制 (gitee.com)
17. Kafka延迟任务时间轮
设计思路: Kafka延迟任务时间轮解析 + java版源码 - 掘金 (juejin.cn)
源码:TimingWheel-Kafka: TimingWheel-Kafka (gitee.com)
18. threadLocal线程池传递解决方案
设计思路: ThreadLocal, InheritableThreadLocal, TransmittableThreadLocal - 掘金 (juejin.cn)
源码: threadLocalDemo: threadLocalDemo (gitee.com)
19. 多线程拆分工具类
源码:ParallelUtils: ParallelUtils (gitee.com)
20. 线程池扩展
设计文档:对线程池做一些扩展 - 掘金 (juejin.cn)
源码:K0n9D1KuA (K0n9DiKuA) - Gitee.com
21. 函数式接口的一些实践
源码: : functionDemo: functionDemo (gitee.com)
22. 树形结构工具类封装
设计文档: 树型工具类封装 - 掘金 (juejin.cn)
源码: TreeUtils: TreeUtils (gitee.com)
2. 实习相关
全链路监控
全链路监控架构图
全链路监控指标设计
全链路监控动态添加定时任务方案
【全链路】基于XxlJob-动态添加定时任务 - 掘金 (juejin.cn)
全链路监控抽象卡片组装API
【全链路】抽象卡片组装API - 掘金 (juejin.cn)
全链路复合指标解决方案
【全链路】使用 Aviator 搞定监控系统里面的复合指标 - 掘金 (juejin.cn)
场控
场控架构图
场控指标中心设计
场控时长类指标计算设计
【场控】时长类指标计算设计 - 掘金 (juejin.cn)
场控 && 全链路
场控 && 全链路简单规则引擎设计
【场控&&全链路】简单规则引擎设计 - 掘金 (juejin.cn)
3. 一些杂谈
流量录制和流量回放框架设计
流量录制和流量回放框架设计 - 掘金 (juejin.cn)
统一延迟任务中台设计
聊聊如何开发一款RPC框架?
聊聊如何开发一款RPC框架? - 掘金 (juejin.cn)
线程池源码解析 + 设计思想 + 线程池监控框架设计
线程池源码解析+设计思想+线程池监控框架设计 - 掘金 (juejin.cn)
配置中心设计
配置中心设计(纯springboot,springcloud,pull/long poiing 模型) - 掘金 (juejin.cn)
全链路压测框架设计
优雅关闭线程池
优雅处理线程池异常
数据权限问题
4. Spring源码杂谈
SpringBean最全生命周期
SpringBean最全生命周期 - 掘金 (juejin.cn)
AOP拦截器链编排
聊聊Spring循环依赖
Spring事件派发是怎么实现的?
Spring事件派发是怎么实现的? - 掘金 (juejin.cn)
Spring里面的工具类
5. Mybatsi源码杂谈
Mybatis里面的AOP技术
Mybatis源码-AOP - 掘金 (juejin.cn)
SqlNode语法树
MyBatis源码-SqlNode语法树 - 掘金 (juejin.cn)
OGNL表达式
Mybatis源码-OGNL表达式 - 掘金 (juejin.cn)