最近棧長看到一個架構,官方号稱可以比 Spring Boot 快 44 倍,居然這麼牛逼,有這麼神奇嗎?今天帶大家來認識一下。
這個架構名叫:light-4j。
官網簡介:A fast, lightweight and more productive microservices framework
很簡單,翻譯過來就是:一個快速、輕量級和更高效的微服務架構。
為什麼叫light-4j?
全稱應該是:Light for Java,意味着輕量級,并以閃電般的速度來使用 Java 程式設計。
這個架構有什麼用?
1、降低成本
為什麼說它能降低成本,因為它速度非常快,占用記憶體也非常小。
重點來了,它比類似 Spring Boot 這種内嵌 Tomcat 式的主流微服務架構平台要快 44 倍,并且隻需要用其 1/5 記憶體,聽起來是不是很牛逼,确實是節約了不少記憶體空間。
這裡有一份 benchmark 的測試報告,它與 Spring Boot 及其他微服務平台作了一個比較:
詳細報告:
https://github.com/networknt/microservices-framework-benchmark很強大,性能與 Go 語言并肩,并且擁有更低的平均延遲。
這裡還有一份與其他 web 架構的對比:
https://www.techempower.com/benchmarks/#section=data-r15&hw=ph&test=plaintext性能表現非常靠前,吊打 Spring 等各種架構!
2、豐富的特性
帶有啟動/關閉鈎子和各種中間件的插件架構
分布式OAuth2 JWT安全驗證作為架構的一部分
基于OpenAPI規範進行請求和響應驗證
收集測量名額并支援服務和用戶端在控制台顯示
全局運作時異常處理,如API異常及其他受檢查異常
在日志輸出前加密敏感資料,如:信用卡、SIN号等
為請求參數、請求頭、BODY清除跨站攻擊腳本
重要資訊或整個請求/響應的審計
請求體支援各種類型的content-type
配置标準化響應碼及響應消息
支援外部配置化Docker環境所有子產品
來自其他域名的跨域處理
支援對外提供的服務限速處理
服務發現與注冊支援直連、Consul和Zookeeper
用戶端側發現和負載平衡,消除代理層
與Light-OAuth2緊密內建并支援可跟蹤性
棧長先介紹到這,大家感興趣的可以去 Github 搗鼓……
Github位址:
https://github.com/networknt/light-4j棧長有話說
看完你可能覺得呵呵了,有人用嗎?
這個棧長我目前沒有可靠資料,但這個架構的性能表現和記憶體消耗真的非常驚人,以及它的各種功能特性都值得借鑒。
至于比 Spring Boot 架構要快 44 倍,這個大家也不用太糾結,Spring 發展到今天,經過國外各種大神的打磨,可以說是非常精湛。
Spring 日益寵大的同時,其内部依賴內建了太多東西,在性能這方面沒其他架構強,确實能夠了解,但 Spring 的生态圈是沒有任何架構可以比拟的。在追求性能的同時,它肯定也會犧牲很多東西,是以,我覺得一個生态繁榮的技術平台比追求性能更重要。
最後,你們有公司用過這個架構嗎?你對這個架構怎麼看,歡迎留言讨論~
關注Java技術棧微信公衆号,在背景回複:boot,擷取棧長整理的更多的 Spring Boot 技術文章,都是實戰幹貨,以下僅為部分預覽。
Spring Boot 2.x 啟動全過程源碼分析
Spring Boot 自定義日志詳解
Spring Boot 核心配置檔案詳解
Spring Boot 最核心的 25 個注解!
Spring Boot 內建Mybatis實作雙資料源
……