liudaac / aradin Goto Github PK
View Code? Open in Web Editor NEW阿拉丁基础开发框架 Develping-Framework Based on SpringCloud+Dubbo
License: Apache License 2.0
阿拉丁基础开发框架 Develping-Framework Based on SpringCloud+Dubbo
License: Apache License 2.0
1、支持JDK21下的springboot3.2
2、文档建设,提供官方WIKI
3、springboot native支持
4、spring-ai [https://github.com/spring-projects/spring-ai]
1、jdk适配调整到jdk17
2、springboot升级至3.1.x
3、velocity由1.7升级至2.3,并适配jakarta
4、javax.servlet全量切换至jakarta
5、spring.factories的自动配置方式在3.x版本后已经移除,完成相关的适配改造,和常用三方starter中自动配置的手动引入
6、dubbo升级至3.2.x,原因是只有3.2.x才支持spring6。相关ISSUE
为了方便更好的理解框架内容,后续会在InfoQ以及Github上做一些重要组件的说明文章,链接会追加在下面
1、新增aradin-easy-http模块(反射)+aradin-easy-http-buddy模块(bytebuddy字节码增强),实现Http客户端注解代理,完全模仿springmvc的Controller,类Feign功能的纯净版HttpClient构造器,不依赖spring,提供调用环境隔离方案和body加密扩展槽(FINISH)
2、aradin-spring-caffeine 增加定时cleanUp机制,避免过度依赖Caffiene的使用时过期检测机制导致大量过期Key堆积的问题。并支持配置项
3、aradin-spring-actuator-starter 增加KafkaListener的注销触发,增强平滑下线的实现
4、aradin-spring-core HttpError增加instance()静态构造方法
5、升级相关基础依赖版本, springboot升级至2.7.12, dubbo升级至3.1.10
1、对于session的redis扩展包spring-session-data-redis,将session用的redis与业务redis进行分离,用于解决服务间共享登录状态时的redis捆绑问题(√)
2、redis-starter增加随机时间偏移的配置,解决生产环境下的缓存雪崩问题,相关配置也向spring-data-redis提交了PR(√)因官方在尚未发布的3.2.0版本加入了TtlFunction,拒绝在之前的版本增加新配置项,未被采纳。
3、redis-starter增加分桶RedisBucketTemplate,解决hash,set的大key问题(√)
4、cluster模式下中间件依赖增加nacos支持(√)
5、version模块版本状态机配置简化,降低caffeine等配置复杂度,提高易读性(√)
1、由于springboot3.2.x在三方组件适配上尚未达到线上使用的要求,所以预计在springboot3.1.x停止迭代之前,我们仍然需要维持1.1.x版本的升级迭代工作。
2、基础依赖升级。比如springboot,dubbo等。
3、修复部分BUG。
1、解决升级springboot3后发现的bug,输出稳定版本
实现jdk动态代理和byte-buddy双方案,进行调用性能Benchmark测试
1、mybatis-plus上层增加慢查询通知机制
2、swagger的注册上报和聚合展示方案
3、在swagger支持Dubbo接口的扫描
4、考虑引入京东hotkeys
5、增加基于redis的消息队列实现
6、version的触发机制增加,增加redis pub/sub支持
7、caffeine增加第一版region分块机制,降低CacheName级别的Evict对服务存储层的压力
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.