先吹牛!
在 v2.6 这个新的里程碑节点,Solon 又完成了几件惊天大事(每一件,都是经历了漫长时间打磨与积累):
(1)Solon Native,有了第一个开源案例:dromara/neutrino-proxy (它是2021年起头的二级项目)
Solon 估计是国内唯搞 AOT 和 Java 原生编译的。或许,这块的友商只能是 Micronaut、Quarkus 和 Spring Native。
(2)99% 换血重构了: Socket.D 通讯应用协议 (它是 Solon 的二级项目,已孵化两年)
它是一种通讯应用协议,也是一个网络开发框架。未来, 必会成为各种网络开发场景的优选。开发 Mq, Im, Rpc 就跟玩似的。
(3)重新设计了 Solon 的 WebSocket 接口标准
这次的设计很专业、很纯血。未来10年,估计都不用再动了。动它,是下了很大决心的
(4)封装了微 FaaS 引擎:Luffy FaaS 引擎(它也是 Solon 的二级项目,已孵化三年)
随时可能更新代码,又不想重启的场景。可以考虑用它了 luffy-solon-plugin。官网将推出全新的学习频道:Solon Faas 开发。
(5)设定 Smart-Http 为 solon-api 的默认 http-server(它也打磨几年了)
smart-http ?它可能是国内唯一完整支持 http 1.1 协议的原创 http-server。换它,国产纯血度大升级!
Solon 是什么框架?
Java 新的"生态级"应用开发框架。从零开始构建,有自己的标准规范与开放生态(历时五年,具备全球第二级别的生态规模)。Solon 生态的友商是 Spring 生态。Solon 的友商很强,所以很有意思。未来也将会在国际上照面。
相对于 Spring,有什么特点?
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 低流量内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk21, graalvm native image
最近更新了什么?
- 设定 smart-http 为 solon-api 快捷组合包的默认 http-server
- 重构 socketd 适配,升为 v2.0
- 重构 websocket 适配,升为 v2.0
- 新增 solon.net 模块用于定义网络接口,分离 websocket 与 socketd 的接口(分开后,用户层面更清爽)
- 新增 solon.boot.socketd 插件
- 新增 sa-token-dao-redisson-jackson 插件
- 添加 SolonApp::filterIfAbsent,routerInterceptorIfAbsent 接口
- 添加 AppContext::getBeansMapOfType 接口
- 添加 websocket context-path 过滤处理机制
- 添加
@Cache
缓存注解处理对动态开关的支持(之前,只能在启动时决定) - 添加
@Tran
事务注解处理对动态开关的支持(之前,只能在启动时决定) - 添加 solon.boot.smarthttp 外部优先级处理(成为默认后,要方便外部替换它)
- 调整 smart-http,jetty,undertow 统一使用 server.http.idleTimeout 配置
- 调整
@ProxyComponent
弃用提示为直接提示(之前为 debug 模式下) - 移除 AopContext(完成更名 AppContext 的第二步动作)
- 移除 PathLimiter (已无用,留着有误导性)
- 移除 SolonApp::enableWebSocketD,enableWebSocketMvc,enableSocketMvc(已无用,留着有误导性)
- 优化 http context-path 过滤器处理机制
- 优化 solon.test 的
@Rollback
注解处理,支持 web 的事务控制 - 优化 solon.scheduling.simple 保持与 jdk 调度服务的策略一致
- 删除 socketd v1.0 相关的 10 多个插件(v2.0 独立仓库)
- jackson 升为 2.15.2
- pagehelper 升为 5.3.3
- liteflow 升为 2.11.3
- activemq 升为 5.16.7
- redisx 升为 1.6.2
- minio8 升为 8.5.3
- sqltoy 升为 5.2.81
- fastjson2 升为 2.0.42
- luffy 升为 1.6.9
- water 升为 2.12.0