先吹牛!
在 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