jeesuite-libs分布式架构开发套件
简介
jeesuite-libs分布式架构开发套件。包括缓存(一二级缓存、自动缓存管理)、队列、分布式定时任务、文件服务(七牛、阿里云OSS、fastDFS)、日志、搜索、代码生成、API网关、配置中心、统一认证平台、分布式锁、分布式事务、集成dubbo、spring boot支持、统一监控等。所有release版都经过严格测试并在生产环境稳定运行4年+。
为什么有jeesuite-libs
一些框架使用起来比较复杂(譬如各种配置,各种资源管理,容错等),针对这种情况我们做了大量二次封装旨在简化使用难度。
一些框架高度抽象貌似能满足所有应用场景,但是实际上大部分情况我们只用到了他10%的功能,结果她却只解决了我们90%的问题,针对这种情况我们就放弃使用而是参考他的设计自己实现一套简化版本
文档
愿景
服务中小企业、减低架构成本、整体方案开箱即用。
原则
只做增强不修改依赖框架本身,可自由升级版本。
持续更新、所有release版本经过严格测试和线上验证。
贴近业务场景、只做有用的功能。
高度灵活、每个模块可以独立使用。
功能列表
cache模块
基于配置支持单机、哨兵、分片、集群模式自由切换
更加简单的操作API封装
一级缓存支持(ehcache & guava cache)、分布式场景多节点自动通知
多组缓存配置同时支持 (一个应用多个redis server)
分布式模式开关
kafka模块
基于spring封装简化配置和调用方式
基于配置新旧两版Consumer API兼容支持
支持二阶段处理,即:fetch线程同步处理和process线程异步处理
消费成功业务处理失败自动重试或自定义重试支持
process线程池采用
LinkedTransferQueue
,支持线程回收和队列大小限制,确保系统崩溃等不会有数据丢失。支持特殊场景发送有状态的消息(如:同一个用户的消息全部由某一个消费节点处理)
兼容遗留kafka系统、支持发送和接收无封装的消息
mybatis模块
代码生成、自动CRUD、可无缝对接mybaits增强框架Mapper
基于properties配置多数据源支持,无需修改XML
读写分离,事务内操作强制读主库
基于注解自动缓存管理(所有查询方法结果自动缓存、自动更新,事务回滚缓存同步回滚机制)
自动缓存实现基于
jeesuite-cache
和spring-data-redis
分页组件
简单分库路由(不支持join等跨库操作)
scheduler模块
支持分布式保证单节点执行(按节点平均分配job)
支持failvoer,自动切换故障节点
支持多节点下并行计算
支持无注册中心单机模式
支持自定义重试策略
支持配置持久化(启动加载、变更保存)
支持控制台任务监控、开停、动态修改调度时间策略、手动触发执行
rest模块
自动resonse封装(xml、json)
i18n
request、response日志记录
自动友好错误
校验框架
filesystem模块
七牛文件服务支持
阿里云OSS文件服务支持
fastDFS文件系统支持
支持spring集成
配置式切换服务提供商
common模块
一些常用工具类
common2模块(需要依赖一些组件或者基础设置)
分布式锁
分布式全局ID生成器
excel导入导出
jeesuite-springboot-starter模块
springboot集成支持