个人开发在项目中因为比较多的使用了多个数据库数据源,以往的做法是在spring-boot的基础上通过新建配置类来实现多数据源的操作,而且在事务操作上不是很友好,并且如果多个项目都使用到的话,每个项目都得写一套,很繁琐,因此自己做了一个可以快速集成多数据源的工具。后面又集成了apollo配置中心,还可以动态部署配置参数,非常简便快捷,同时集成了Dubbo,也可以实现分布式服务。
一个能快速继承多数据源的mysql数据库/多数据源mongidb数据库/apollo配置中心/zookeeper注册中心/dubbo服务/RocketMQ消息队列的工具
- 快速
集成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
在使用中有任何问题,欢迎反馈给我,可以用以下联系方式跟我交流
- Email: kevinclair@apache.org
感谢以下的项目,在个人学习过程中,给我起到了很大的帮助
94年萌新一枚,目前还是在持续学习阶段,欢迎大佬们多多指教。
最近准备开始着手做一次项目的重构和升级,调整一下项目的模块以及工程架构;
- Redis模块对接,CacheManager对接;
- web模块支持;
- 接入zookeeper组件;
- 动态日志变更 (Done)
- DUBBO的SPI扩展 (已扩展实现Filter过滤器,新增Validation验证器扩展)
- RocketMQ模块 (Done)
- 日志模块 (Done)
- 监控模块Cat (Done)
- Redis模块
- canal消息订阅集成 (Done)
- web模块的支持
- 工具类扩展