One Page

542 阅读5分钟

1. 玩具轮子

ps:本人不喜欢重复造轮子,写下面的这些项目旨在提升代码能力,和一些特定的业务场景不想引入其他繁杂的依赖。

1. ES-ORM

与Mybatis-Plus具有相同API的ES—ORM

设计文档:自研ES-ORM - 掘金 (juejin.cn)

源码: kdk-es-orm: es-orm (gitee.com)

2. API网关

源码:ApiGateWay: 基于 Netty,Nacos,NacosConfig 开发的一款开箱即用的“微内核+插件”架构的 API 网关,可配置接口粒度的网关路由规则,可实时热更新路由规则。具有负载均衡, 多维度流,MOCK 模拟,灰度发布,多维度黑名单限制,短链系统,超时重试等功能。 (gitee.com)

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. 轻量级有限状态机

源码: Lucas: Lucas (gitee.com)

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. 函数式接口的一些实践

设计文档:函数式接口 - 掘金 (juejin.cn)

源码:functionDemo: functionDemo (gitee.com)

22. 树形结构工具类封装

设计文档: 树型工具类封装 - 掘金 (juejin.cn)

源码: TreeUtils: TreeUtils (gitee.com)

2. 实习相关

全链路监控

全链路监控架构图

【全链路】架构 - 掘金 (juejin.cn)

全链路监控指标设计

【全链路】指标中心设计 - 掘金 (juejin.cn)

全链路监控动态添加定时任务方案

【全链路】基于XxlJob-动态添加定时任务 - 掘金 (juejin.cn)

全链路监控抽象卡片组装API

【全链路】抽象卡片组装API - 掘金 (juejin.cn)

全链路复合指标解决方案

【全链路】使用 Aviator 搞定监控系统里面的复合指标 - 掘金 (juejin.cn)

场控

场控架构图

【场控】架构图 - 掘金 (juejin.cn)

场控指标中心设计

【场控】指标中心设计 - 掘金 (juejin.cn)

场控时长类指标计算设计

【场控】时长类指标计算设计 - 掘金 (juejin.cn)

场控 && 全链路

场控 && 全链路简单规则引擎设计

【场控&&全链路】简单规则引擎设计 - 掘金 (juejin.cn)

3. 一些杂谈

流量录制和流量回放框架设计

流量录制和流量回放框架设计 - 掘金 (juejin.cn)

统一延迟任务中台设计

统一延迟任务中台设计 - 掘金 (juejin.cn)

聊聊如何开发一款RPC框架?

聊聊如何开发一款RPC框架? - 掘金 (juejin.cn)

线程池源码解析 + 设计思想 + 线程池监控框架设计

线程池源码解析+设计思想+线程池监控框架设计 - 掘金 (juejin.cn)

配置中心设计

配置中心设计(纯springboot,springcloud,pull/long poiing 模型) - 掘金 (juejin.cn)

全链路压测框架设计

全链路压测框架设计思路 - 掘金 (juejin.cn)

优雅关闭线程池

如何优雅关停线程池? - 掘金 (juejin.cn)

优雅处理线程池异常

如何优雅处理线程池异常? - 掘金 (juejin.cn)

数据权限问题

数据权限 - 掘金 (juejin.cn)

4. Spring源码杂谈

SpringBean最全生命周期

SpringBean最全生命周期 - 掘金 (juejin.cn)

AOP拦截器链编排

AOP拦截器链编排 - 掘金 (juejin.cn)

聊聊Spring循环依赖

聊聊Spring循环依赖 - 掘金 (juejin.cn)

Spring事件派发是怎么实现的?

Spring事件派发是怎么实现的? - 掘金 (juejin.cn)

Spring里面的工具类

Spring里面的工具类 - 掘金 (juejin.cn)

5. Mybatsi源码杂谈

Mybatis里面的AOP技术

Mybatis源码-AOP - 掘金 (juejin.cn)

SqlNode语法树

MyBatis源码-SqlNode语法树 - 掘金 (juejin.cn)

OGNL表达式

Mybatis源码-OGNL表达式 - 掘金 (juejin.cn)

强大反射工具类

Mybatis源码 - 强大反射工具类 - MetaObject - 掘金 (juejin.cn)