Skip to content

SpringBoot功能组件,只需添加依赖即可快速集成,已实现apollo,cat的接入,同时实现了mybatis、mongodb的多数据源,以及多数据源事务。集成dubbo,扩展Filter等。集成RocketMQ,无需添加配置即可消费、发送消息,同时集成事务消息,实现分布式事务。

License

Notifications You must be signed in to change notification settings

KevinClair/spring-boot-extend

Repository files navigation

spring-boot-extend

star issues forks liscense RocketMQ Dubbo Apollo Spring Mybatis Cat

背景

个人开发在项目中因为比较多的使用了多个数据库数据源,以往的做法是在spring-boot的基础上通过新建配置类来实现多数据源的操作,而且在事务操作上不是很友好,并且如果多个项目都使用到的话,每个项目都得写一套,很繁琐,因此自己做了一个可以快速集成多数据源的工具。后面又集成了apollo配置中心,还可以动态部署配置参数,非常简便快捷,同时集成了Dubbo,也可以实现分布式服务。

spring-boot-extend是什么?

一个能快速继承多数据源的mysql数据库/多数据源mongidb数据库/apollo配置中心/zookeeper注册中心/dubbo服务/RocketMQ消息队列的工具

spring-boot-extend有哪些功能?

  • 快速集成Mysql数据源
    • 直接依赖相关组件,在启动类中添加注解,并且在项目的配置文件apollo配置中心中配置相关数据源属性即可使用
    • 支持多数据源的事务
  • 快速集成MongoDB数据源
    • 直接依赖相关组件,在启动类中添加注解,并且在项目的配置文件apollo配置中心中配置相关数据源属性即可使用
  • 集成apollo配置中心
    • 详情请查看apollo配置中心文档apollo
    • 实现日志级别的动态变更
  • 引入Dubbo功能
    • 使用Zookeeper作为注册中心
    • Dubbo官方文档Dubbo
    • Dubbo SPI扩展
  • 引入RocketMQ功能
    • 方法级别的消息消费功能
    • RocketMQTemplate模板多种方法发送消息
    • RocketMQTransactionTemplate模板发送事务消息,基本实现弱分布式事务;
    • RocketMQ官方文档RocketMQ
  • 引入Canal
    • 监听Mysql数据库变化并将消息投递至RocketMQ;
    • Canal官方文档Canal
  • 引入Cat
    • 引入了美团点评的分布式监控系统Cat;
    • 在Cat提供的插件基础上做出了扩展,新增了对RocketMQ的监控拦截;
    • 未来还将支持Redis,MongoDB的插件支持;
    • Cat官方文档Cat

有问题反馈

在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流

感激

感谢以下的项目,在个人学习过程中,给我起到了很大的帮助

关于作者

94年萌新一枚,目前还是在持续学习阶段,欢迎大佬们多多指教。

最近计划

最近准备开始着手做一次项目的重构和升级,调整一下项目的模块以及工程架构;

  • Redis模块对接,CacheManager对接;
  • web模块支持;
  • 接入zookeeper组件;

未来计划

  • 动态日志变更 (Done)
  • DUBBO的SPI扩展 (已扩展实现Filter过滤器,新增Validation验证器扩展)
  • RocketMQ模块 (Done)
  • 日志模块 (Done)
  • 监控模块Cat (Done)
  • Redis模块
  • canal消息订阅集成 (Done)
  • web模块的支持
  • 工具类扩展

About

SpringBoot功能组件,只需添加依赖即可快速集成,已实现apollo,cat的接入,同时实现了mybatis、mongodb的多数据源,以及多数据源事务。集成dubbo,扩展Filter等。集成RocketMQ,无需添加配置即可消费、发送消息,同时集成事务消息,实现分布式事务。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages