/nezha-starters

nezha(哪吒)基于Spring boot、Dubbo、Nacos、Spring cloud gateway、Spring security、Sentinel、Seata、Caffeine、RocketMq、Redis、Mybatis、Mybatis-plus、HikariCP、Druid、Swagger、Knife4j、Hutool等优秀项目之上,结合多个项目的实施经验,总结的一套分布式微服务快速开发框架, 开箱即用。

Primary LanguageJavaApache License 2.0Apache-2.0

nezha
nezha(哪吒)是基于Spring boot、Dubbo、Nacos、Spring cloud gateway、Spring security、Sentinel、Seata、
Caffeine、RocketMq、Redis、Mybatis、Mybatis-plus、HikariCP、Druid、Swagger、Knife4j、Hutool等优秀项目之上,
结合多个项目的实施经验,总结的一套分布式微服务快速开发框架, 开箱即用。

包括三大部分:
. nezha-starters: 框架部分。
. nezha-tool: 命令行工具部分,项目级代码生成,常用的命名行工具。通过共享软件的形式发布。
. nezha-platform: 多业务单元集合平台。模块化业务单元,如:权限、资源、日志、用户、商城、CMS等。

nezha演示


demo

nezha特点关键词


Spring体系 Dubbo 分布式 webmvc webflux 微服务 快速 多租户 缓存 流控 国际化 docker k8s

安全框架 分布式事务 动态路由 配置灵活 项目级自动生成

nezha典型部署架构


架构图

nezha目标及愿景


  • 有选择的集成优秀开源项目,有选择的集成各项目的运行方式,将高效开发、团队协作、自动化运维融入其中的分布式微服务快速开发框架;

  • 形成低门槛,但高可靠、高稳定、高安全、高效的分布式微服务框架。

  • 构建nezha-tool开发工具,服务于开发者。

  • 构建nezha-platform应用生态,服务于各企业信息化建设

Note
信息化建设目标: 架构、工具、平台生态三个方面共同作用, 达到降低开发周期、降低开发成本、快速输出产品、打通数字鸿沟、避免重复建设、有效集中管理数据和IT资产流程化、系统化、自动化!

nezha包括以下几个方面内容:


  1. java8,spring boot2

  2. 包依赖梳理

  3. 统一返回值、错误处理

  4. 统一动态配置管理

  5. 动态微服务网关

  6. 自动微服务发现

  7. 安全框架扩展

  8. 国际化状态管理及自动生成

  9. 流控管理

  10. 日志统一处理

  11. 分布式事务

  12. 基于Caffeine、Redis缓存及二级缓存

  13. 基于Redis访问控制、锁、pubsub

  14. 消息队列

  15. 多数据库支持、多租户支持、多连接池支持

  16. Web开发常规设置集成

  17. Webflux开发集成[错误处理]

  18. 基于工程级(project)的代码生成

  19. Swagger文档集成

框架组成


项目名

介绍

完善度

nezha-bom-starter                                                  

包引用管理

完善

nezha-common-starter

通用模块,引入了hutool

完善

nezha-core-starter

core

完善

nezha-core-web-starter

web开发常规集成,Rest返回统一错误处理,统一返回值处理,Json格式化输出扩展,web开发常规操作

完善,持续重构

nezha-web-security-starter

集成Spring-security,nezha-core,实现基于jjwt的 token授权机制,实现MultipleTokenAuthenticationFilter,以实现账号密码、第三方授权、验证码等多种登录形式。在token安全性也进行了处理。

完善,持续重构

nezha-core-webflux-starter

集成Spring webflux, 统一错误处理

待持续完善

nezha-gateway-starter

集成nezha-core-webflux,spring-cloud gateway, sentinel, alibaba-sentinel-gateway,动态路由,动态限流

持续优化 已经集成sentinel

nezha-log-starter

log

完善

nezha-i18n-starter

i18n

完善

nezha-db-starter

集成 mybatis-plus

完善

nezha-druid-starter

nacos

完善

nezha-cache-starter

集成Caffeine、redis,并重写二级缓存

完善,持续优化

nezha-redis-starter

集成redis项目,实现lock,limit,pubsub,工具化redis操作

完善

nezha-dubbo-starter

集成dubbo项目

完善

nezha-nacos-starter

集成nacos项目,全局动态配置,yaml和json Converter及操作工具化

完善

nezha-seata-starter

集成Seata项目

完善

nezha-sentinel-starter

集成sentinel

待完善

nezha-rocketmq-starter

集成rocketmq

待完善

nezha-i18n

nezha框架多语言状态码

完善

nezha-i18n-generator

nezha 状态码自动生成项目

完善

nezha-distribution

nezha自动分发包项目

完善

版本发布


nezha版本号:主版本号 . 子版本号 . 修正版本号 - 版本号标记 例如:0.0.46-202x207-RELEASE

nezha版本发布词:每次版本更新,顺序选取8句《千字文》作为版本发布词。《千字文》很博大精深,值得传播,另外也是期望在开源领域做些微薄贡献的同时,也传播下**文化。

Note
版本号标记:Springboot主版本 + 二位Springboot子版本 + 'x' + Dubbo主版本 + 二位Dubbo子版本 + '-' + nezha阶段版本[BETA|RC|RELEASE|SNAPSHOT]

感谢


Spring boot, Spring Cloud gateway, Spring security, Apache dubbo, sentinel, seata, nacos, redis, caffeine, rocketmq, mybatis-plus, mybatis, hutool, Swagger, Knife4j, druid, disruptor, aviator等所有在nezha-bom-starter中被引入的项目, 以及很多优秀的开源项目(之前项目中用过或者研究过), 如:jFinal, jBoot, t-io,xxl-job, taro, ant-design, vue 等