关于开源项目介绍:这个开源组织里的项目都是精品第二弹

7次阅读

共计 6223 个字符,预计需要花费 16 分钟才能阅读完成。

前言

之前我写过一篇文章——《这个开源组织里的我的项目都是精品》,外面列举了 Dromara 开源组织的 4 个 java 我的项目,每一个都轻量且实用,受到了很多小伙伴的青睐。Dromara 这个开源组织里的我的项目只针对 Java,细看了下,都是能进步生产效率,辞别加班的神器。这次我又从中挑出了 5 个精品我的项目,举荐给大家。

如果你没看过上一篇系列文章,那也倡议你去回顾下:

https://segmentfault.com/a/11…

Cubic

首先我要介绍的是 Cubic,一站式问题定位平台!线程栈监控、线程池监控、动静 arthas 命令集、依赖剖析等等等,强不弱小,香不香?

官方网站:https://cubic.jiagoujishu.com/

Gitee 托管仓库:https://gitee.com/dromara/cubic

Github 托管仓库:https://github.com/dromara/cubic

介绍

一站式问题定位平台,还在为线上问题而懊恼吗?

线程栈监控、线程池监控、动静 arthas 命令集、依赖剖析等等等,致力于利用级监控,帮忙开发人员疾速定位问题。

有什么个性

  • 1、兼容性:整体监控不论你是 IDC、ECS、Docker 部署,都可完满兼容
  • 2、易用:无需任何配置,开箱即用,基于 agent 无侵入接入,降级利用端无感知
  • 3、弱小:反对对利用的根底监控、堆栈监控、线程池监控等等
  • 4、高扩大:提供良好的扩大接口,给你自主抉择

应用后能带来怎么工作效率上的晋升

权限认证
实例列表
实例心跳监测
实例根底信息采集
服务器信息采集
JVM 根底信息采集
启动参数采集
依赖包检测
arthas 动静命令集反对
历史线程栈获取(分钟级)
实时线程栈获取
线程池监控

性能展现

实例核心(展现以后实例信息)

根底信息(点击实例 -》展现以后实例的根底信息)

依赖监控(点击实例 -》展现以后实例的依赖包信息)

Arthas 命令操作

线程池监控

实时线程栈

历史线程栈

想要理解更多请参考:https://gitee.com/dromara/cubic

Sureness

丢掉 Shiro 吧,也别再用 Spring Security 了,简略易用多语言多框架反对,基于 RESTAPI 的弱小国产鉴权框架,效率神器!

官方网站:https://usthe.com/sureness

Gitee 托管仓库:https://gitee.com/dromara/sur…

Github 托管仓库:https://github.com/dromara/su…

介绍

在支流的前后端拆散架构中,如何通过无效疾速的认证鉴权来爱护后端提供的 REST API 变得尤为重要。对现存框架,不原生反对 RESTfulApache Shiro
还是深度绑定 SpringSpring Security,或多或少都不是咱们的现实型。
于是乎 Sureness 诞生了,咱们心愿能解决这些,提供一个面向 REST API 无框架依赖 ,能够 动静批改权限 多认证策略 更快速度 易用易扩大 的认证鉴权框架。

个性

Sureness 是咱们在深度应用 Apache Shiro 之后, 汲取其长处全新设计开发的一个认证鉴权框架
面向 REST API 的认证鉴权, 基于 RBAC (用户 - 角色 - 资源)次要关注于对 API 的平安爱护
无特定 Web 框架依赖, 开箱即用 (已有 Spring Boot,Quarkus,Javalin,Ktor,Micronaut,Jfinal,Solon 等集成样例)
反对动静批改权限配置 (动静批改配置每个 API 谁有权拜访)
反对 Websocket , 支流 HTTP 容器 ServletJAX-RSSpring Reactive
反对多种认证策略, JWT, Basic Auth, Digest Auth … 可扩大自定义认证形式
基于改良的字典匹配树领有的高性能
良好的扩大接口, 样例和文档助急速了解扩大应用
Sureness 的低配置,易扩大,不耦合其余框架,心愿能对系统多场景疾速平安的爱护

比照

~ Sureness Shiro Spring Security
多框架反对 反对 需改变反对 不反对
REST API 反对 需改变反对 反对
Websocket 反对 不反对 不反对
过滤链匹配 优化的字典匹配树 ant 匹配 ant 匹配
注解反对 反对 反对 反对
Servlet 反对 反对 反对
JAX-RS 反对 不反对 不反对
权限动静批改 反对 需改变反对 需改变反对
性能速度 较快 较慢 较慢
学习曲线 简略 简略 平缓

基准测试显示 Sureness 比照无权限框架利用损耗 0.026ms 性能,Shiro 损耗 0.088ms,Spring Security 损耗 0.116ms
性能差距会随着 api 匹配链的减少而进一步拉大
详见基准测试

原生反对样例

  • [x] Sureness 集成 Spring Boot 样例(配置文件计划) sample-bootstrap
  • [x] Sureness 集成 Spring Boot 样例(数据库计划) sample-tom
  • [x] Sureness 集成 Quarkus 样例 sample-quarkus
  • [x] Sureness 集成 Javalin 样例 sample-javalin
  • [x] Sureness 集成 Ktor 样例 sample-ktor
  • [x] Sureness 集成 Spring Webflux 样例 sample-spring-webflux
  • [x] Sureness 集成 Micronaut 样例 sample-micronaut
  • [x] Sureness 集成 MicroProfile 样例 sample-microProfile
  • [x] Sureness 集成 Jfinal 样例 sample-jfinal
  • [x] Sureness 集成 Solon 样例 sample-solon
  • [x] Sureness 集成 Spring Gateway 样例 sample-spring-gateway
  • [x] Sureness 集成 Zuul 样例 sample-zuul
  • [x] Sureness 集成 Session 样例 sureness-session
  • [x] Sureness 集成 分布式缓存 Session样例 sureness-redis-session
  • [x] More samples todo

想要理解更多请参考:https://gitee.com/dromara/sur…

TLog

十分钟即可接入,一款神器的日志框架,反对泛滥的框架和支流 RPC,让你的日志马上降级,变得可追溯!

官方网站:http://yomahub.com/tlog

Gitee 托管仓库:https://gitee.com/dromara/TLog

Github 托管仓库:https://github.com/dromara/TLog

介绍

随着微服务流行,很多公司都把零碎依照业务边界拆成了很多微服务,在排错查日志的时候。因为业务链路贯通着很多微服务节点,导致定位某个申请的日志以及上下游业务的日志会变得有些艰难。

这时候很多童鞋会开始思考上 SkyWalking,Pinpoint 等分布式追踪零碎来解决,基于 OpenTracing 标准,而且通常都是无侵入性的,并且有绝对敌对的治理界面来进行链路 Span 的查问。

然而搭建分布式追踪零碎,相熟以及推广到全公司的零碎须要肯定的工夫周期,而且当中波及到链路 span 节点的存储老本问题,全量采集还是局部采集?如果全量采集,就以 SkyWalking 的存储来举例,ES 集群搭建至多须要 5 个节点。这就须要减少服务器老本。况且如果微服务节点多的话,一天下来产生几十 G 上百 G 的数据其实十分失常。如果想保留工夫长点的话,也须要减少服务器磁盘的老本。

当然分布式追踪零碎是一个最终的解决方案,如果您的公司曾经上了分布式追踪零碎,那 TLog 并不实用。

TLog 提供了一种最简略的形式来解决日志追踪问题,它不收集日志,也不须要另外的存储空间,它只是主动的对你的日志进行打标签,主动生成 TraceId 贯通你微服务的一整条链路。并且提供上下游节点信息。适宜中小型企业以及想疾速解决日志追踪问题的公司我的项目应用。

为此 TLog 适配了三大日志框架,反对自动检测适配。反对 dubbo,dubbox,spring cloud 三大 RPC 框架,更重要的是,你的我的项目接入 TLog,可能连十分钟就不须要:)

我的项目个性

目前 TLog 的反对的个性如下:

  • 通过对日志打标签实现轻量级微服务日志追踪
  • 提供三种接入形式:javaagent 齐全无侵入接入,字节码一行代码接入,基于配置文件的接入
  • 对业务代码无侵入式设计,应用简略,10 分钟即可接入
  • 反对常见的 log4j,log4j2,logback 三大日志框架,并提供自动检测,实现适配
  • 反对 dubbo,dubbox,springcloud 三大 RPC 框架
  • 反对 Spring Cloud Gateway 和 Soul 网关
  • 适配 HttpClient 和 Okhttp 的 http 调用标签传递
  • 反对三种工作框架,JDK 的 TimerTask,Quartz,XXL-JOB
  • 反对日志标签的自定义模板的配置,提供多个零碎级埋点标签的抉择
  • 反对异步线程的追踪,包含线程池,多级异步线程等场景
  • 简直无性能损耗,疾速稳固,通过压测,损耗在 0.01%

接入形式

应用后你的每行日志会变成以下格局

想要理解更多请参考:https://gitee.com/dromara/TLog

ImageCombiner

无需 P 图,用 Java 也能合成很难看的图,简略的应用形式,服务端批量合图利器!

官方网站:http://dromara.gitee.io/image…

Gitee 托管仓库:https://gitee.com/dromara/ima…

介绍

ImageCombiner 是一个专门用于 Java 服务端图片合成的工具,没有很简单的性能,谋求简略实用,从理论业务场景登程,提供简略的接口,几行代码即可实现图片拼合(当然用于合成水印也能够),特地适宜图片营销、产品分享等须要实时生成图片场景。

个性

素材上反对图片、文本、矩形三种,反对元素的定位、缩放、旋转、圆角、透明度、色彩、字体、字号、删除线、居中绘制、文本主动换行等个性,足够笼罩图片合成的日常需要。我的项目不依赖任何框架,齐全基于 JDK 自身编写,没有各种花里胡哨的货色,性能还是相当不错的。

效率晋升

通过对 Graphics2D 的封装和元素模型的提炼,屏蔽了图像处理细节,把简单的编码简化为设置各个元素的地位、属性即可,作者日常工作中,一个约含十余个元素的简单图片合成,开发加调试(次要是比照设计稿还原度)20 分钟即可搞定,极大的开释了生产力。

成果预览

最简略的例子

public void simpleDemo() throws Exception {

    // 合成器
    ImageCombiner combiner = new ImageCombiner("http://xxx.com/image/bg.jpg", OutputFormat.JPG);

    // 加图片元素
    combiner.addImageElement("http://xxx.com/image/product.png", 0, 300)
            .setAlpha(.8f)          // 透明度(0.0~1.0).setRotate(45)          // 旋转(0~360).setBlur(20);           // 高斯含糊(1~100);

    // 加文本元素
    combiner.addTextElement("周末大放送", 0, 150, 1400)
            .setCenter(true)        // 居中绘制(会疏忽 x 坐标,改为主动计算).setColor(Color.Red)    // 色彩

    // 执行图片合并
    combiner.combine();

    // 能够获取流(并上传 oss 等)InputStream is = combiner.getCombinedImageStream();

    // 也能够保留到本地
    combiner.save("d://image.jpg");

想要理解更多请参考:https://gitee.com/dromara/ima…

MaxKey

MaxKey 单点登录认证零碎是业界当先的企业级 IAM 身份治理和认证框架,产品化水平很高,多家出名公司的抉择!

官方网站:https://www.maxkey.top/

Gitee 托管仓库:https://gitee.com/dromara/MaxKey

Github 托管仓库:https://github.com/dromara/Ma…

介绍

MaxKey单点登录认证零碎 (Single Sign On System),谐音马克思的钥匙寓意是最大钥匙, 是 业界当先的企业级 IAM 身份治理和认证产品 , 反对 OAuth 2.x/OpenID Connect、SAML 2.0、JWT、CAS、SCIM 等标准协议,提供 简略、规范、平安和凋谢 的用户身份治理(IDM)、身份认证(AM)、单点登录(SSO)、RBAC 权限治理和资源管理等。

个性

  1. 规范认证协定:
序号 协定 反对
1.1 OAuth 2.x/OpenID Connect
1.2 SAML 2.0
1.3 JWT
1.4 CAS
1.5 FormBased
1.6 TokenBased(Post/Cookie)
1.7 ExtendApi
1.8 EXT
  1. 登录反对
序号 登录形式 反对
2.1 动静验证码 字母 / 数字 / 算术
2.2 双因素认证 短信 / 工夫令牌 / 邮件
2.3 短信认证 腾讯云短信 / 阿里云短信 / 网易云信
2.4 工夫令牌 登录易 /Google/Microsoft Authenticator/FreeOTP/ 反对 TOTP 或者 HOTP
2.5 域认证 Kerberos/SPNEGO/AD 域
2.6 LDAP OpenLDAP/ActiveDirectory/ 规范 LDAP 服务器
2.7 社交账号 微信 /QQ/ 微博 / 钉钉 /Google/Facebook/ 其余
2.8 扫码登录 企业微信 / 钉钉扫码登录
  1. 提供规范的认证接口以便于其余利用集成 SSO,平安的挪动接入,平安的 API、第三方认证和互联网认证的整合。
  2. 提供用户生命周期治理,反对 SCIM 2 协定,基于 Apache Kafka 代理,通过连接器 (Connector) 实现身份供应同步。
  3. 认证核心具备平台无关性、环境多样性,反对 Web、手机、挪动设施等, 如 Apple iOS,Andriod 等,将认证能力从 B / S 到挪动利用全面笼罩。
  4. 多种认证机制并存,各利用零碎可保留原有认证机制,同时集成认证核心的认证;利用具备高度独立性,不依赖认证核心,又可用应用认证核心的认证,实现单点登录。
  5. 基于 Java EE 平台,采纳 Spring、MySQL、Tomcat、Redis、Apache Kafka 等开源技术,微服务架构,扩展性强。
  6. 开源、平安、自主可控,许可证 Apache 2.0 License & MaxKey 版权申明。

界面预览




想要理解更多请参考:https://gitee.com/dromara/MaxKey

最初

其实 Dromara 开源社区还有最出名的我的项目(也是 star 最多的我的项目)——Hutool,那我为什么不写呢。我想说,这框架普及率太高了,简直是能够取代 apache common 包,guava 包的存在,程序员应该每个人都用下。一篇文章不足以写出 Hutool 这个框架的全面性和弱小。当前留一篇专门介绍 Hutool 这个框架。

以上举荐的开源我的项目,也是 Dromara Java 社区里的精品我的项目,很多都曾经是 GVP 我的项目了,用好这些框架 / 工具,真的能让工作效率大大晋升。

最初,看到这的童鞋,点赞,分享,在看点起来啊!

正文完
 0