SOFABoot開(kāi)源框架 v3.24.0
587KB / 08-31
-
Pinpoint應(yīng)用性能管理工具 v3.0.2 java源碼 / 18.8MB
-
Presto大數(shù)據(jù)查詢引擎 v0.292 java源碼 / 10.89MB
-
-
-
Zotero文獻(xiàn)管理工具 v7.0.15 java源碼 / 6.8MB
-
Logstash日志管理系統(tǒng) v8.17.4 java源碼 / 18.9MB
-
-
Mall4j商城系統(tǒng) v3.4 java源碼 / 14.2MB
-
-
詳情介紹
SOFABoot 是螞蟻集團(tuán)開(kāi)源的基于 Spring Boot 的研發(fā)框架,它在 Spring Boot 的基礎(chǔ)上,提供了諸如 Readiness Check,上下文隔離,類隔離,日志空間隔離等等能力。在增強(qiáng)了 Spring Boot 的同時(shí),SOFABoot 提供了讓用戶可以在 Spring Boot 中非常方便地使用 SOFA 中間件的能力。
Spring Boot 是一個(gè)非常優(yōu)秀的開(kāi)源框架,可以非常方便地就構(gòu)建出一個(gè)基于 Spring 的應(yīng)用程序,但是在使用過(guò)程中,還是會(huì)遇到一些問(wèn)題:
1、Spring Boot 提供了一個(gè)基礎(chǔ)的健康檢查的能力,中間件和應(yīng)用都可以擴(kuò)展來(lái)實(shí)現(xiàn)自己的健康檢查邏輯。但是 Spring Boot 的健康檢查只有 Liveness Check 的能力,缺少 Readiness Check 的能力,這樣會(huì)有比較致命的問(wèn)題。當(dāng)一個(gè)微服務(wù)應(yīng)用啟動(dòng)的時(shí)候,必須要先保證啟動(dòng)后應(yīng)用是健康的,才可以將上游的流量放進(jìn)來(lái)(來(lái)自于 RPC,網(wǎng)關(guān),定時(shí)任務(wù)等等流量),否則就可能會(huì)導(dǎo)致一定時(shí)間內(nèi)大量的錯(cuò)誤發(fā)生。
2、Spring Boot 雖然通過(guò)依賴管理(Dependency Management)的方式最大程度的保證了 Spring Boot 管理的 JAR 包之間的兼容性,但是不可避免的,當(dāng)引入一些其他的 JAR 包的時(shí)候,還是可能會(huì)遇到?jīng)_突,而且很多時(shí)候這種沖突解決起來(lái)并不是這么容易,一個(gè)例子是當(dāng)沖突的包是序列化相關(guān)的類庫(kù)時(shí),比如說(shuō) Hessian,如果應(yīng)用中的一個(gè)組件需要使用 Hessian 3,而另一個(gè)則必須要使用 Hessian 4,由于 Hessian 3 和 Hessian 4 之間的不兼容性,并且序列化還涉及到微服務(wù)中的上下游服務(wù),要把 Hessian 統(tǒng)一到一個(gè)版本絕非易事。
3、在超大規(guī)模微服務(wù)運(yùn)維的場(chǎng)景下,運(yùn)維能力的平臺(tái)化是一定要解決的問(wèn)題,而監(jiān)控又是其中非常主要的一個(gè)點(diǎn),針對(duì)于日志監(jiān)控這種情況,Spring Boot 并沒(méi)有提供任何解決方案。大部分的開(kāi)源組件,具體要打印哪些日志,打印到什么路徑,什么文件下面,都是由應(yīng)用的使用者來(lái)決定,這樣會(huì)導(dǎo)致每一個(gè)應(yīng)用的日志配置都各式各樣,每一個(gè)應(yīng)用都需要去監(jiān)控系統(tǒng)中配置自己應(yīng)用的日志監(jiān)控,導(dǎo)致關(guān)鍵的監(jiān)控的實(shí)施成本特別高。
4、在企業(yè)級(jí)應(yīng)用場(chǎng)景,模塊化開(kāi)發(fā)是解決多團(tuán)隊(duì)溝通成本的有效解決方案,每個(gè)業(yè)務(wù)團(tuán)隊(duì)專注于開(kāi)發(fā)自己的應(yīng)用模塊,每個(gè)模塊自包含,便于開(kāi)發(fā)及自測(cè),減少團(tuán)隊(duì)間的溝通成本。但是 Spring Boot 默認(rèn)不支持模塊化開(kāi)發(fā),所有 Bean 共用一個(gè) Spring 上下文,在多團(tuán)隊(duì)開(kāi)發(fā)時(shí),如果不同團(tuán)隊(duì)定義了相同 BeanId,運(yùn)行時(shí)將出現(xiàn) BeanId 沖突錯(cuò)誤。
為了解決以上的問(wèn)題,又因?yàn)?SOFA 中間件中的各個(gè)組件本身就需要集成 Spring Boot,所以螞蟻集團(tuán)基于 Spring Boot 開(kāi)發(fā)并開(kāi)源了 SOFABoot,來(lái)解決以上的問(wèn)題,也方便使用者在 Spring Boot 中方便地去使用 SOFA 中間件。
為了解決 Spring Boot 在實(shí)施大規(guī)模微服務(wù)架構(gòu)時(shí)候的問(wèn)題,SOFABoot 提供了以下的能力:
1、增強(qiáng) Spring Boot 的健康檢查能力
針對(duì) Spring Boot 缺少 Readiness Check 能力的情況,SOFABoot 增加了 Spring Boot 現(xiàn)有的健康檢查的能力,提供了 Readiness Check 的能力。利用 Readiness Check 的能力,SOFA 中間件中的各個(gè)組件只有在 Readiness Check 通過(guò)之后,才將流量引入到應(yīng)用的實(shí)例中,比如 RPC,只有在 Readiness Check 通過(guò)之后,才會(huì)向服務(wù)注冊(cè)中心注冊(cè),后面來(lái)自上游應(yīng)用的流量才會(huì)進(jìn)入。
除了中間件可以利用 Readiness Check 的事件來(lái)控制流量的進(jìn)入之外,PAAS 系統(tǒng)也可以通過(guò)訪問(wèn) http://localhost:8080/health/readiness 來(lái)獲取應(yīng)用的 Readiness Check 的狀況,用來(lái)控制例如負(fù)載均衡設(shè)備等等流量的進(jìn)入。
2、提供類隔離的能力
為了解決 Spring Boot 下的類依賴沖突的問(wèn)題,SOFABoot 基于 SOFAArk 提供了 Spring Boot 上的類隔離的能力,在一個(gè) SOFABoot 的系統(tǒng)中,只要引入 SOFAArk 相關(guān)的依賴,就可以將 SOFA 中間件相關(guān)的類和應(yīng)用相關(guān)的類的 ClassLoader 進(jìn)行隔離,防止出現(xiàn)類沖突。當(dāng)然,用戶也可以基于 SOFAArk,將其他的中間件、第三方的依賴和應(yīng)用的類進(jìn)行隔離。
3、日志空間隔離能力
為了統(tǒng)一大規(guī)模微服務(wù)場(chǎng)景下的中間件日志的打印,SOFABoot 提供了日志空間隔離的能力給 SOFA 中間件,SOFA 中間件中的各個(gè)組件采用日志空間隔離的能力之后,自動(dòng)就會(huì)將本身的日志和應(yīng)用的普通日志隔離開(kāi)來(lái),并且打印的日志的路徑也是相對(duì)固定,非常方便進(jìn)行統(tǒng)一地監(jiān)控。
4、SOFA 中間件的集成管理
基于 Spring Boot 的自動(dòng)配置能力,SOFABoot 提供了 SOFA 中間件統(tǒng)一易用的編程接口以及 Spring Boot 的 Starter,方便在 Spring Boot 環(huán)境下使用 SOFA 中間件,SOFA 中間件中的各個(gè)組件都是獨(dú)立可插拔的,節(jié)約開(kāi)發(fā)時(shí)間,和后期維護(hù)的成本。
5、模塊化開(kāi)發(fā)
SOFABoot 從 2.4.0 版本開(kāi)始支持基于 Spring 上下文隔離的模塊化開(kāi)發(fā)能力,每個(gè) SOFABoot 模塊使用獨(dú)立的 Spring 上下文,避免不同 SOFABoot 模塊間的 BeanId 沖突,有效降低企業(yè)級(jí)多模塊開(kāi)發(fā)時(shí)團(tuán)隊(duì)間的溝通成本。
下載地址
人氣源碼
若依后臺(tái)管理系統(tǒng) RuoYi v4.7.8
CryptoJS加密庫(kù)(crypto.js) v4.2.0
JetLinks開(kāi)源物聯(lián)網(wǎng)平臺(tái)源碼 v2.2.0
Jeepay開(kāi)源支付系統(tǒng) v2.4.0
JSH_ERP 開(kāi)源版J2EE進(jìn)銷(xiāo)存系統(tǒng)代碼源碼 v1.0.2
QQ 聊天機(jī)器人小薇(XiaoV) v2.2.2
ECharts JavaScript圖表庫(kù) v5.6.0
因酷時(shí)代(inxedu)在線教育系統(tǒng) V2.0.6
Javashop B2C開(kāi)源電商系統(tǒng) v6.3.2
iBizEAM開(kāi)源設(shè)備資產(chǎn)管理系統(tǒng)源碼 v1.0
相關(guān)文章
-
Java輕量級(jí)類隔離框架 SOFAArk Project v2.3.0
SOFAArk 是一款基于 Java 實(shí)現(xiàn)的動(dòng)態(tài)熱部署和輕量級(jí)類隔離框架,由螞蟻集團(tuán)開(kāi)源貢獻(xiàn),主要提供應(yīng)用模塊的動(dòng)態(tài)熱部署和類隔離能力。歡迎需要的朋友下載使用...
-
SpringBlade微服務(wù)開(kāi)發(fā)平臺(tái) v4.4.0
SpringBlade 是一個(gè)由商業(yè)級(jí)項(xiàng)目升級(jí)優(yōu)化而來(lái)的SpringCloud分布式微服務(wù)架構(gòu)、SpringBoot單體式微服務(wù)架構(gòu)并存的綜合型項(xiàng)目,采用Java8 API重構(gòu)了業(yè)務(wù)代碼,完全遵循阿里巴...
-
Diboot輕代碼開(kāi)發(fā)平臺(tái) v2.11.0
Diboot輕代碼開(kāi)發(fā)平臺(tái)是一個(gè)面向開(kāi)發(fā)人員的低代碼開(kāi)發(fā)平臺(tái),將重復(fù)性的工作自動(dòng)化,提高質(zhì)量、效率、可維護(hù)性...
-
RuoYi-activiti工作流平臺(tái)源碼 v4.1
RuoYi-activiti是一款以若依開(kāi)源權(quán)限管理系統(tǒng)為基礎(chǔ)開(kāi)發(fā)平臺(tái)并集成了activiti框架完成的工作流系統(tǒng),旨在打造集流程設(shè)計(jì)、流程部署、流程執(zhí)行、任務(wù)辦理、流程監(jiān)控于一體的...
-
RuoYi若依權(quán)限管理系統(tǒng) v4.7.9
RuoYi若依權(quán)限管理系統(tǒng)是一個(gè)基于SpringBoot的權(quán)限管理系統(tǒng),代碼易讀易懂、界面簡(jiǎn)潔美觀, 核心技術(shù)采用Spring、MyBatis、Shiro沒(méi)有任何其它重度依賴,喜歡的朋友快來(lái)下載...
-
Java Struts2漏洞復(fù)現(xiàn)工具
今天給大家分享Java Struts2漏洞復(fù)現(xiàn)工具,喜歡的朋友快來(lái)下載體驗(yàn)吧...
-
java操作excel的jar包(jxl.jar包 源碼)
jxl.jar是通過(guò)java操作excel表格的工具類庫(kù),能夠修飾單元格屬性,是由java語(yǔ)言開(kāi)發(fā)而成的,接下來(lái)通過(guò)本文給大家介紹java操作excel的jar包(jxl.jar包 源碼),喜歡的朋友快...
-
springboot整合QuartJob實(shí)現(xiàn)定時(shí)器實(shí)時(shí)管理源代碼
Quartz是一個(gè)完全由java編寫(xiě)的開(kāi)源作業(yè)調(diào)度框架,形式簡(jiǎn)易,功能強(qiáng)大,,下面給大家分享springboot整合QuartJob實(shí)現(xiàn)定時(shí)器實(shí)時(shí)管理源代碼,感興趣的朋友快來(lái)下載體驗(yàn)吧...
-
SOFABoot開(kāi)源框架 v3.24.0
SOFABoot 是螞蟻集團(tuán)開(kāi)源的基于 Spring Boot 的研發(fā)框架,它在 Spring Boot 的基礎(chǔ)上,提供了諸如 Readiness Check,上下文隔離,類隔離,日志空間隔離等等能力...
-
基于SSM的應(yīng)急資源管理系統(tǒng)源碼 v1.0
應(yīng)急資源管理系統(tǒng)用的是是比較流行的SSM和前端JSP技術(shù),用它來(lái)創(chuàng)建使用腳本語(yǔ)言,結(jié)合HTML代碼來(lái)制作動(dòng)態(tài) 網(wǎng)頁(yè),歡迎需要的朋友下載使用...
下載聲明
☉ 解壓密碼:chabaoo.cn 就是本站主域名,希望大家看清楚,[ 分享碼的獲取方法 ]可以參考這篇文章
☉ 推薦使用 [ 迅雷 ] 下載,使用 [ WinRAR v5 ] 以上版本解壓本站軟件。
☉ 如果這個(gè)軟件總是不能下載的請(qǐng)?jiān)谠u(píng)論中留言,我們會(huì)盡快修復(fù),謝謝!
☉ 下載本站資源,如果服務(wù)器暫不能下載請(qǐng)過(guò)一段時(shí)間重試!或者多試試幾個(gè)下載地址
☉ 如果遇到什么問(wèn)題,請(qǐng)?jiān)u論留言,我們定會(huì)解決問(wèn)題,謝謝大家支持!
☉ 本站提供的一些商業(yè)軟件是供學(xué)習(xí)研究之用,如用于商業(yè)用途,請(qǐng)購(gòu)買(mǎi)正版。
☉ 本站提供的SOFABoot開(kāi)源框架 v4.4.0資源來(lái)源互聯(lián)網(wǎng),版權(quán)歸該下載資源的合法擁有者所有。