Mendmix定位是一站式分布式开发架构开源解决方案及云原生架构技术底座。Mendmix提供了数据库、缓存、消息中间件、分布式定时任务、安全框架、网关以及主流产商云服务快速集成能力。基于Mendmix可以不用关注技术细节快速搭建高并发高可用基于微服务的分布式架构。
2015年发布第一版取名叫jeesuite-libs一直沿用至今,定位是工具型软件,以各个模块能完全独立使用为前提。经过近8年的发展以及在多家大型公司技术中台、数字化转型、企业上云过程中锤炼,定制化越来越高,jeesuite-libs从原来一个个离散的点变成了一个逻辑完备的面,也就是形成了一整套分布式架构及云原生架构的解决方案。基于这种转变jeesuite-libs不再适合我们的发展方向,因此现在更名为Mendmix。
功能列表:
cache模块基于配置支持单机、哨兵、分片、集群模式自由切换更加简单的操作API封装一级缓存支持(ehcache & guava cache)、分布式场景多节点自动通知多组缓存配置同时支持 (一个应用多个redis server)分布式模式开关
kafka模块基于spring封装简化配置和调用方式基于配置新旧两版Consumer API兼容支持支持二阶段处理,即:fetch线程同步处理和process线程异步处理消费成功业务处理失败自动重试或自定义重试支持process线程池采用LinkedTransferQueue,支持线程回收和队列大小限制,确保系统崩溃等不会有数据丢失。支持特殊场景发送有状态的消息(如:同一个用户的消息全部由某一个消费节点处理)producer、consumer端监控数据采集,由(jeesuite-admin)输出兼容遗留kafka系统、支持发送和接收无封装的消息
mybatis模块代码生成、自动CRUD、可无缝对接mybaits增强框架Mapper基于properties配置多数据源支持,无需修改XML读写分离,事务内操作强制读主库基于注解自动缓存管理(所有查询方法结果自动缓存、自动更新,事务回滚缓存同步回滚机制)自动缓存实现基于jeesuite-cache和spring-data-redis分页组件敏感操作拦截
scheduler模块支持分布式保证单节点执行(按节点平均分配job)支持failvoer,自动切换故障节点支持多节点下并行计算支持无注册中心单机模式支持自定义重试策略支持配置持久化(启动加载、变更保存)支持控制台(jeesuite-admin)任务监控、开停、动态修改调度时间策略、手动触发执行
jeesuite-security配置简单(初始化一个类即可)满足认证授权基本需求更加贴近日常使用业务场景可选本地session和共享session可选是否支持多端同时登录dubbo、springboot跨服务登录状态传递支持
rest模块自动resonse封装(xml、json)i18nrequest、response日志记录自动友好错误校验框架
filesystem模块七牛文件服务支持阿里云OSS文件服务支持fastDFS文件系统支持支持spring集成配置式切换服务提供商
common模块一些常用工具类
common2模块(需要依赖一些组件或者基础设置)分布式锁分布式全局ID生成器excel导入导出
jeesuite-springboot-starter模块springboot集成支持