overview - GStones/moke-kit GitHub Wiki
概览
moke-kit 是一个用于构建微服务/单体应用的基础框架。可以按照单体应用开发,生产环境部署为微服务模式。像玩LEGO积木一样,你可以按需灵活拼接不同类型的服务。
为什么使用moke-kit?
如果你在犹豫当前的项目设计是采用微服务还是简单的单体应用,moke-kit可以帮助你快速构建一个单体应用,然后在需要的时候,将单体应用拆分为微服务,不需要修改任何代码。 moke-kit提供了一套完整的解决方案,包括主流的通讯协议(TCP/WebSocket/Grpc/Http),数据库,缓存,消息队列等,你可以直接使用这些组件,而不需要关心底层实现。
架构
特性
- 使用 uber/fx 实现IOC(依赖注入控制反转),可以按需组装不同类型服务。
- 内置TLS,mTLS,快速构建Zero Trust安全模型。
- 内置中间件(rate limit, open telemetry, auth override,logging, panic recovery等)。
- 内置Cache-Aside模式数据缓存机制。
- 内置Compare-and-swap保证数据库操作的一致性。
- 内置交互式命令行客户端,方便独立测试服务接口。
- 基于buf一键生成proto, grpc, gateway, swagger和客户端的协议文件。