开源项目收集

327 阅读5分钟

后端

PF4J 动态加载的插件框架

github.com/pf4j/pf4j-s…

一个插件框架,用于实现插件的动态加载,支持的插件格式(zip、jar)

1、ICE规则引擎,致力于解决灵活繁复的硬编码问题 官网

简介:业务中是否写了大量的 if-else?是否受够了这些 if-else 还要经常变动? 业务中是否做了大量抽象,发现新的业务场景还是用不上? 是否各种调研规则引擎,发现不是太重就是接入或维护太麻烦,最后发现还是不如硬编码? 接下来给大家介绍一款全新的开源规则引擎——ice,以一个简单的例子,从最底层的编排思想,阐述 ice 与其他规则引擎的不同;讲述 ice 是如何使用全新的设计思想,契合解耦和复用的属性,还你最大的编排自由度。

2、阿里巴巴QLExpress脚本引擎 官网

QLExpress脚本引擎被广泛应用在阿里的电商业务场景,具有以下的一些特性:

  • 线程安全,引擎运算过程中的产生的临时变量都是threadlocal类型。
  • 高效执行,比较耗时的脚本编译过程可以缓存在本地机器,运行时的临时变量创建采用了缓冲池的技术,和groovy性能相当。
  • 弱类型脚本语言,和groovy,javascript语法类似,虽然比强类型脚本语言要慢一些,但是使业务的灵活度大大增强。
  • 安全控制,可以通过设置相关运行参数,预防死循环、高危系统api调用等情况。
  • 代码精简,依赖最小,250k的jar包适合所有java的运行环境,在android系统的低端pos机也得到广泛运用。

3、开箱即用的轻量级组件式规则引擎LiteFlow 官网

  • 组件定义统一: 所有的逻辑都是组件,为所有的逻辑提供统一化的组件实现方式,小身材,大能量。
  • 规则轻量: 基于规则文件来编排流程,学习规则入门只需要5分钟,一看即懂。
  • 规则多样化: 规则支持xml、json、yml三种规则文件写法方式,喜欢哪种用哪个。
  • 任意编排: 同步异步混编,再复杂的逻辑过程,利用LiteFlow的规则,都是很容易做到的,看规则文件就能知道逻辑是如何运转的。
  • 规则能从任意地方加载: 框架中提供本地文件配置源和zk配置源的实现,也提供了扩展接口,您可以把规则存储在任何地方。
  • 优雅热刷新机制: 规则变化,无需重启您的应用,即时改变应用的规则。高并发下不会因为刷新规则导致正在执行的规则有任何错乱。
  • 支持广泛: 不管你的项目是不是基于Springboot,Spring还是任何其他java框架构建,LiteFlow都能游刃有余。
  • JDK支持: 从JDK8到JDK17,统统支持。无需担心JDK版本。
  • 脚本语言支持: 可以定义脚本语言节点,支持QLExpress和Groovy两种脚本。未来还会支持更多的脚本语言。
  • 规则嵌套支持: 只要你想得出,你可以利用简单的表达式完成多重嵌套的复杂逻辑编排。
  • 组件重试支持: 组件可以支持重试,每个组件均可自定义重试配置和指定异常。
  • 上下文隔离机制: 可靠的上下文隔离机制,你无需担心高并发情况下的数据串流。
  • 声明式组件支持: 你可以让你的任意类秒变组件。
  • 详细的步骤信息: 你的链路如何执行的,每个组件耗时多少,报了什么错,一目了然。
  • 稳定可靠: 历时2年多的迭代,在各大公司的核心系统上稳定运行。
  • 性能卓越: 框架本身几乎不消耗额外的性能,性能取决你的组件执行效率。
  • 自带简单监控: 框架内自带一个命令行的监控,能够知道每个组件的运行耗时排行。

4、 一个用搭积木的方式构建pdf的框架(基于pdfbox)官网

5、Forest 高层的、极简的轻量级HTTP调用API框架。官网

  • 支持 声明式接口,方便与业务代码解耦
  • 支持 编程式接口,方便快速访问请求
  • 支持底层 HTTP 库: OkHttp 3
  • 支持底层 HTTP 库: Httpclient
  • 不依赖中间件
  • 支持 GETPOST 等所有请求方法
  • 约定大于配置
  • 自动 JSONXMLProtobuf 转换
  • 支持 自定义转换器
  • 多种加签方式
  • 支持 Spring 和 Springboot 集成
  • 支持 上传下载
  • 支持 模板表达式
  • 支持 拦截器
  • 支持 自定义注解
  • 支持 异步请求

6、 Sa-Token 一个轻量级 java 权限认证框架,让鉴权变得简单、优雅!官网

  • 登录认证:多端登录、单端登录、同端互斥登录、七天免登录…… 多种登录策略只需改个配置即可完成
  • 权限认证:权限认证、角色认证、会话二级认证、注解鉴权、路由鉴权……多种姿势灵活鉴权
  • 踢人下线:强制注销、踢人下线、账号封禁、身份切换、自动续签 …… 提供完善的会话管理方案
  • Redis集成:提供 Redis 集成方案、项目重启数据不丢失、多系统数据互通,可自定义数据持久化策略
  • 前后端分离:内置多种 Token 读取策略,适配APP、小程序、SPA单页应用等前后端分离场景
  • 单点登录:同域、跨域、共享Redis、跨Redis、前后端一体、前后端分离……提供各种架构下的SSO接入方案
  • OAuth2.0:基于 RFC-6749 标准编写,轻松搭建 OAuth2.0 认证中心,支持四种授权模式,支持openid机制
  • 微服务支持:分布式 Session 会话、网关统一鉴权、RPC调用鉴权……提供开箱即用的微服务认证方案
  • 开箱即用:提供SpringMVC、WebFlux、Solon、jwt 等常见框架集成包,真正的开箱即用……

7、JAVACPP:JAVA和C++之间的桥梁

github.com/bytedeco/ja…

8、JAVE (Java Audio Video Encoder): JAVA封装ffmpeg

github.com/a-schild/ja…

9、JAVACV:JAVA对ffmpeg、opencv等的封装

github.com/bytedeco/ja…


前端