jeesuite-libs 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
jeesuite-libs 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: Apache
开发语言: Java 查看源码 »
操作系统: 跨平台
收录时间: 2018-11-27
提 交 者: vakinge

简介

jeesuite-libs分布式架构开发套件。包括缓存(一二级缓存、自动缓存管理)、队列、分布式定时任务、文件服务(七牛、阿里云OSS、fastDFS)、日志、搜索、代码生成、API网关、配置中心、统一认证平台、分布式锁、分布式事务、集成dubbo、spring boot支持、统一监控等。所有release版都经过严格测试并在生产环境稳定运行4年+。

为什么有jeesuite-libs

  • 一些框架使用起来比较复杂(譬如各种配置,各种资源管理,容错等),针对这种情况我们做了大量二次封装旨在简化使用难度。

  • 一些框架高度抽象貌似能满足所有应用场景,但是实际上大部分情况我们只用到了他10%的功能,结果她却只解决了我们90%的问题,针对这种情况我们就放弃使用而是参考他的设计自己实现一套简化版本

##官网 http://www.jeesuite.com/

文档

http://www.jeesuite.com/docs

愿景

服务中小企业、减低架构成本、整体方案开箱即用。

原则

  • 只做增强不修改依赖框架本身,可自由升级版本。

  • 持续更新、所有release版本经过严格测试和线上验证。

  • 贴近业务场景、只做有用的功能。

  • 高度灵活、每个模块可以独立使用。

功能列表

cache模块

  • 基于配置支持单机、哨兵、分片、集群模式自由切换

  • 更加简单的操作API封装

  • 一级缓存支持(ehcache & guava cache)、分布式场景多节点自动通知

  • 多组缓存配置同时支持 (一个应用多个redis server)

  • 分布式模式开关

kafka模块

  • 基于spring封装简化配置和调用方式

  • 基于配置新旧两版Consumer API兼容支持

  • 支持二阶段处理,即:fetch线程同步处理和process线程异步处理

  • 消费成功业务处理失败自动重试或自定义重试支持

  • process线程池采用LinkedTransferQueue,支持线程回收和队列大小限制,确保系统崩溃等不会有数据丢失。

  • 支持特殊场景发送有状态的消息(如:同一个用户的消息全部由某一个消费节点处理)

  • 兼容遗留kafka系统、支持发送和接收无封装的消息

mybatis模块

  • 代码生成、自动CRUD、可无缝对接mybaits增强框架Mapper

  • 基于properties配置多数据源支持,无需修改XML

  • 读写分离,事务内操作强制读主库

  • 基于注解自动缓存管理(所有查询方法结果自动缓存、自动更新,事务回滚缓存同步回滚机制)

  • 自动缓存实现基于jeesuite-cachespring-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集成支持

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

jeesuite-libs 的相关博客

Mad Libs

name1 = input('请输入一个名字:') name2 = input('再输入一个名字:') sentence = input('请输入一句话:') name3 = inp...

jeesuite分布式框架环境搭建

<div class="htmledit_views"> <p><a target="_blank"></a></p><p><a target="_blank"></a><span style="font-family:'宋体'...

sqli-libs(3)

今天我们来讲解 sqli-libs(3) 有括号的单引号报错 首先我们来查看加入'看报错了 在加‘’ 没报错 证明 存在注入 然后我们看...

mad libs游戏

name1=input('请输入一个姓名:') car=input('请输入一种交通工具:') name2=input('请再输入一个人的姓名:') adress=input...

CFLAGS、CXXFLAGS、LDFLAGS与LIBS

CFLAGS 表示用于 C 编译器的选项 CXXFLAGS 表示用于 C++ 编译器的选项。 这两个变量实际上涵盖了编译和汇编两个步骤。 CFLAGS...

sqli-libs(7)

导出文件GET字符型注入 0x01介绍 导出到文件就是可以将查询结果导出到一个文件中,如常见的将一句话木马导出到一个php文件中,...

sqli-libs(2)

Lesson2:数字型注入我们先来测试一下 http://127.0.0.1/sql1/Less-2/?id=1%20and%201=1 发现未报错 这里知道我们的数字型注入...

vue libs

https://github.com/SortableJS/Vue.Draggable

Upload-libs通关详解

Uplo ad-labs—详解 1前端验证绕过 前端验证绕过可以直接用burp万能绕过前端JS脚本 方法先上传一张jpg Burp改包然后改后缀 上...

Makefile选项CFLAGS,LDFLAGS,LIBS

Makefile选项CFLAGS,LDFLAGS,LIBS CFLAGS 表示用于 C 编译器的选项, CXXFLAGS 表示用于 C++ 编译器的选项。 这两个变量实际上...

jeesuite-libs 的相关问答

还没有任何问答,马上提问

评论 (1)

加载中
和我们公司的框架技术差不多,借鉴下先,谢谢大佬
08/05 16:07
回复
举报
更多评论
1 评论
26 收藏
分享
返回顶部
顶部