当前位置: 首页 > 后端技术 > Java

这个开源组织里的项目都很优秀(第二部分)

时间:2023-04-01 22:08:14 Java

前言我之前写过一篇文章—《这个开源组织里的项目都是精品》,罗列了Dromara开源组织里的4个java项目,每一个都轻巧实用,深受大家喜爱很多朋友。开源组织Dromara中的项目仅针对Java。仔细一看,都是可以提高生产效率,告别加班的神器。这次又挑选了5个精品项目推荐给大家。如果你还没有看过之前的系列文章,建议你回顾一下:https://segmentfault.com/a/11...Cubic首先我想介绍一下Cubic,一个一站式的问题定位平台!线程栈监控、线程池监控、动态arthas命令集、依赖分析等等,强不强?官网:https://cubic.jiagoujishu.com/Gitee托管仓库:https://gitee.com/dromara/cubicGithub托管仓库:https://github.com/dromara/cubic介绍一站式问题定位平台,你还在为上网问题所困扰吗?线程栈监控、线程池监控、动态arthas命令集、依赖分析等致力于应用级监控,帮助开发者快速定位问题。有什么特点?1、兼容性:无论是部署IDC、ECS还是Docker,整体监控完美兼容。2、易用性:无需配置,开箱即用,基于代理的非侵入式接入,无感知升级应用端3、功能强大:支持应用基础监控,堆栈监控,线程池监控等。4.高扩展:提供良好的扩展接口,让您选择使用后如何提高工作效率。心跳监控实例基本信息收集服务器信息收集JVM基本信息收集启动参数收集依赖包检测arthas动态命令集支持历史线程栈获取(分钟级)实时线程栈获取线程池监控功能显示实例中心(显示当前实例信息)基础信息(点击实例-》显示当前实例的基本信息)依赖监控(点击实例-》显示当前实例的依赖包信息)Arthas命令运行线程池监控实时线程栈历史线程栈查看更多资料请参考:https://gitee.com/dromara/cubicSureness扔掉Shiro,再也不用SpringSecurity了,简单易用,支持多语言多框架,强大的国产认证框架基于RESTAPI,效率神器!官网:https://usthe.com/surenessGitee托管仓库:https://gitee.com/dromara/sur...Github托管仓库:https://github.com/dromara/su...介绍中在主流的前后端分离架构中,如何通过有效、快速的认证来保护后端提供的RESTAPI变得尤为重要。对于现有的框架,原生不支持RESTful的ApacheShiro,或者与Spring深度绑定的SpringSecurity,或多或少都不是我们理想的选择。所以Sureness诞生了。我们希望解决这些问题,提供一个面向RESTAPI、无框架、可动态修改权限、多种认证策略、速度更快、易用易扩展的认证框架。Sureness特性是我们在深入使用ApacheShiro并吸取其优点后,新设计开发的认证认证框架。它是面向RESTAPI的鉴权和鉴权的。基于RBAC(user-role-resource),主要针对没有特定Web框架依赖的API的安全保护,开箱即用(SpringBoot,Quarkus,Javalin,Ktor,Micronaut,Jfinal,Solon,etc.)支持动态修改权限配置(动态修改配置谁有权访问每个API)支持Websocket、主流HTTP容器Servlet、JAX-RS、SpringReactive支持多种认证策略,JWT、BasicAuth、DigestAuth...基于改进的字典匹配树的可扩展自定义认证方法,具有高性能和良好的扩展接口,sample和文档有助于快速理解扩展使用Sureness的低配置,易于扩展,并且不与其他框架耦合,希望快速安全多场景保护系统Websocket支持不支持过滤链匹配优化字典匹配树蚂蚁匹配蚂蚁匹配注解支持支持Servlet支持支持JAX-RS支持不支持不支持动态修改权限支持需要改支持需要被改变支持更快的性能速度缓慢的学习曲线简单而陡峭。基准测试表明,与非特权框架应用程序相比,Sureness有0.026ms的性能损失,Shiro有0.088ms的损失,SpringSecurity有0.116ms的损失。随着API匹配链的增加,性能差距会进一步拉大。有关详细信息,请参阅基准测试。原生支持sample[x]Sureness集成SpringBoot示例(配置文件方案)sample-bootstrap[x]Sureness集成SpringBoot示例(数据库方案)sample-tom[x]Sureness集成Quarkus示例sample-quarkus[x]]Sureness集成Javalin示例sample-javalin[x]Sureness集成Ktor示例sample-ktor[x]Sureness集成SpringWebflux示例sample-spring-webflux[x]Sureness集成Micronaut示例sample-micronaut[x]Sureness集成MicroProfile示例sample-microProfile[x]Sureness集成Jfinal示例sample-jfinal[x]Sureness集成Solon示例sample-solon[x]SurenessIntegrationSpringGateway示例sample-spring-gateway[x]SurenessIntegrationZuul示例sample-zuul[x]SurenessIntegrationSession示例sureness-session[x]SurenessIntegration分布式缓存会话示例sureness-redis-session[x]更多samplestodo更多信息请参考:https://gitee.com/dromara/sur...TLog十分钟上手,神器日志框架,支持众多框架和主流RPC,让你的日志随心所欲立即升级,变得有迹可循!官网:http://yomahub.com/tlogGitee托管仓库:https://gitee.com/dromara/TLogGithub托管仓库:https://github.com/dromara/TLog简介随着微服务的盛行,很多公司都在系统按照业务边界划分为很多微服务。在排查日志的时候,由于业务环节贯穿了很多微服务节点,定位某个请求的日志和上下游业务的日志会变得很困难。这时候很多童鞋就会开始考虑SkyWalking、Pinpoint等分布式追踪系统来解决。基于OpenTracing规范,它们通常是非侵入性的,并且有一个相对友好的管理界面来查询链接跨度。但是分布式跟踪系统的搭建、熟悉和推广到全公司需要一定的时间,并且涉及到链路跨度节点的存储成本。全部收集还是部分收集?如果是全量收集,以SkyWalking的存储为例。搭建一个ES集群至少需要5个节点。这需要增加服务器成本。而且,如果微服务节点很多,一天产生几十G、几百G的数据其实是很正常的。如果要保存更长时间,还需要增加服务器磁盘的成本。当然,分布式跟踪系统是最终的解决方案。如果您的公司已经实施了分布式跟踪系统,则TLog不适用。TLog提供了解决日志跟踪问题的最简单方法。它不收集日志,也不需要额外的存储空间。它只是自动标记您的日志并在整个微服务中自动生成TraceId。链接。并提供上下游节点信息。适用于希望快速解决日志跟踪问题的中小企业和企业项目。为此,TLog适配了三大日志框架,支持自动检测适配。支持dubbo、dubbox、springcloud三大RPC框架,更重要的是,你的项目接入TLog,可能连十分钟都不需要:)量级微服务跟踪提供三种访问方式:javaagent完全无侵入式访问、bytecode一行代码访问、基于配置文件的访问对业务代码无侵入设计。简单易用,10分钟即可上手导入支持常见的log4j、log4j2、logback三大日志框架,并提供自动检测、完全适配支持dubbo、dubbox、springcloud三大RPC框架支持SpringCloudGateway和Soulgateway适配HttpClient和Okhttphttp调用标签中转支持三大任务框架,JDK的TimerTask、Quartz、XXL-JOB支持配置日志标签自定义模板,提供多种系统级埋点标签选择。支持异步线程跟踪,包括线程池、多级异步线程等场景几乎没有性能损失,快速稳定。压力测试后,损失为0.01%。使用access方式后,你的每一行日志都会变成下面的格式。更多信息请参考:https://gitee.com/dromara/TLogImageCombiner不需要P图,用Java也可以合成美图。使用简单,是服务器端批量组合图片的利器!官网:http://dromara.gitee.io/image...Gitee托管仓库:https://gitee.com/dromara/ima...介绍ImageCombiner是一个专门用于Java服务器端图像合成的工具,没有很复杂的功能,追求简单实用,从实际业务场景出发,提供简单的界面,几行代码就可以实现图片拼接(当然也可以用来合成水印),特别适合实时生成图片营销、产品分享等图片场景。特征素材支持图片、文字、矩形三种类型,支持元素定位、缩放、旋转、圆角、透明度、颜色、字体、字号、删除线、居中绘制、文本自动换行等,足以覆盖日常的图像合成需求。项目不依赖任何框架,完全基于JDK本身编写。没有花里胡哨的东西,性能相当不错。效率提升通过Graphics2D的封装和元素模型的细化,屏蔽图像处理的细节,将复杂的编码简化为设置每个元素的位置和属性。在笔者的日常工作中,一个包含十个元素左右的复杂图像的合成、开发和调试(主要是比较设计稿的还原度)可以在20分钟内完成,极大的释放了生产力。效果预览最简单的例子publicvoidsimpleDemo()throwsException{//ComposerImageCombinercombiner=newImageCombiner("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)//rotation(0~360).setBlur(20);//高斯模糊(1~100);//添加文本元素combiner.addTextElement("周末大甩卖",0,150,1400).setCenter(true)//居中绘制(x坐标会被忽略,自动计算).setColor(Color.Red)//颜色//进行图像组合combiner.combine();//可以获取流(并上传oss,etc.)InputStreamis=combiner.getCombinedImageStream();//也可以保存到本地combiner.save("d://image.jpg");更多信息参考:https://gitee.com/dromara/ima...MaxKeyMaxKey单点登录认证系统是业界领先的企业级IAM身份管理和认证框架,产品化程度高,众多知名企业的选择!官网:https://www.maxkey.top/Gitee托管仓库:https://gitee.com/dromara/MaxKeyGithub托管仓库:https://github.com/dromara/Ma...引入MaxKey单点登录认证系统(单点登录系统),马克思的谐音键是最大的键。业界领先的企业级IAM身份管理认证产品,支持OAuth2.x/OpenIDConnect、SAML2.0、JWT、CAS、SCIM等标准协议,提供简单、标准、安全、开放的用户身份管理(IDM)、身份认证(AM)、单点登录(SSO)、RBAC权限管理和资源管理等特性标准认证协议:序列号协议支持1.1OAuth2.x/OpenIDConnecthigh1.2SAML2.0high1.3JWTHigh1.4CASHigh1.5FormBasedMedium1.6TokenBased(Post/Cookie)Medium1.7ExtendApiLow1.8EXTLow登录支持序列号登录模式支持2.1动态验证码字母/数字/算术2.2双因素认证SMS/TimeToken/Email2.3SMS认证腾讯云短信/阿里云短信/网易云信2.4TimeTokenLoginEasy/Google/MicrosoftAuthenticator/FreeOTP/SupportTOTPorHOTP2.5DomainAuthenticationKerberos/SPNEGO/ADDomain2.6LDAPOpenLDAP/ActiveDirectory/StandardLDAPServer2.7SocialaccountWeChat/QQ/微博/钉钉/Google/Facebook/其他2.8二维码登录企业微信/钉钉二维码登录为其他应用提供标准认证接口,集成SSO、安全移动接入、安全API、第三方认证和互联网认证集成。提供用户生命周期管理,支持SCIM2协议,基于ApacheKafka代理,通过连接器(Connector)实现身份供应同步。认证中心具有平台独立性和环境多样性,支持Web、手机、移动设备等,如AppleiOS、Andriod等,全面覆盖从B/S到移动应用的认证能力。多种认证机制并存,各应用系统可以保留原有的认证机制,同时融合认证中心的认证;应用独立性强,不依赖认证中心,可以利用认证中心的认证实现单点登录。基于JavaEE平台,采用Spring、MySQL、Tomcat、Redis、ApacheKafka等开源技术,具有可扩展性强的微服务架构。开源、安全、自主可控、许可Apache2.0License&MaxKey版权声明。界面预览更多信息请参考:https://gitee.com/dromara/MaxKey最后,其实Dromara开源社区还有最知名的项目(也是star最多的项目)——Hutool,那我为什么不写呢。想说这个框架的知名度实在是太高了,几乎可以替代apachecommonpackage和guavapackage的存在,每个程序员都应该用到。一篇文章不足以描述Hutool框架的全面性和强大性。以后我会留下一篇专门介绍Hutool框架的文章。以上推荐的开源项目也是DromaraJava社区的优质项目。其中许多已经是GVP??项目。善用这些框架/工具,确实可以大大提高工作效率。最后,看到这个童鞋点个赞分享一下,再看一遍吧!