本發(fā)明屬于聚合支付渠道隔離,具體涉及一種聚合支付多渠道隔離框架。
背景技術(shù):
1、隨著電子支付行業(yè)的飛速發(fā)展,聚合支付作為一種集成多種支付渠道的技術(shù)方案,在商戶與支付機(jī)構(gòu)之間扮演著橋梁的角色。現(xiàn)有的聚合支付技術(shù)雖然實(shí)現(xiàn)了多渠道集成,但往往存在以下問(wèn)題:
2、1.多支付渠道隔離性不足:在現(xiàn)有的聚合支付系統(tǒng)中,不同支付渠道之間往往采用雙親委派機(jī)制。這種機(jī)制導(dǎo)致不同渠道之間可能存在依賴沖突,例如不同渠道依賴相同庫(kù)的不同版本,或者存在同名類沖突。這些沖突可能導(dǎo)致系統(tǒng)崩潰或出現(xiàn)不可預(yù)期的行為,嚴(yán)重影響了系統(tǒng)的穩(wěn)定性和安全性。
3、2.缺乏多版本灰度支持:隨著支付渠道的更新迭代,現(xiàn)有系統(tǒng)往往無(wú)法支持多版本的灰度發(fā)布。這意味著系統(tǒng)升級(jí)必須停機(jī)進(jìn)行,無(wú)法平滑過(guò)渡到新版本,影響支付服務(wù)的連續(xù)性和穩(wěn)定性。
4、3.支付渠道擴(kuò)展性受限:隨著支付市場(chǎng)的變化,新的支付渠道不斷涌現(xiàn),現(xiàn)有聚合支付系統(tǒng)往往難以支持無(wú)限擴(kuò)展的支付渠道。這限制了系統(tǒng)的靈活性,無(wú)法滿足商戶多樣化的支付需求。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)以上現(xiàn)有技術(shù)中的不足,本發(fā)明提供了一種聚合支付多渠道隔離框架,具有在同一個(gè)jvm(java虛擬機(jī))中支持多支付渠道隔離、多版本灰度且支持無(wú)限擴(kuò)展支付渠道的能力。
2、為了解決上述技術(shù)問(wèn)題,本發(fā)明通過(guò)下述技術(shù)方案得以解決。
3、一種聚合支付多渠道隔離框架,支付服務(wù)層、引導(dǎo)類加載器、擴(kuò)展類加載器、系統(tǒng)類加載器、支付渠道、自定義類加載器、代理類加載器和多版本管理模塊。
4、每個(gè)支付渠道對(duì)應(yīng)關(guān)聯(lián)有一個(gè)自定義類加載器,自定義類加載器之間不支持相互調(diào)用。這確保了不同支付渠道之間完全隔離,由上層代理容器統(tǒng)一路由調(diào)用,避免了渠道沖突和資源競(jìng)爭(zhēng),提高了系統(tǒng)穩(wěn)定性。且自定義類加載器的設(shè)計(jì)配合現(xiàn)有的容器化部署策略,可以支持無(wú)限擴(kuò)展支付渠道,使系統(tǒng)更具靈活性和適應(yīng)性。所述代理類加載器用于在初始化過(guò)程中實(shí)例化與每個(gè)支付渠道關(guān)聯(lián)的自定義類加載器,以及負(fù)責(zé)協(xié)調(diào)自定義類加載器和系統(tǒng)類加載器。所述多版本管理模塊用于控制支付渠道的不同版本之間的切換和灰度發(fā)布,多版本管理模塊的設(shè)計(jì)可以實(shí)現(xiàn)平滑升級(jí)和故障回滾,保證支付服務(wù)的連續(xù)性和穩(wěn)定性。
5、優(yōu)選的,所述多版本管理模塊配置有各支付渠道的版本信息,所述版本信息包括渠道名稱、版本號(hào)和對(duì)應(yīng)渠道包的路徑,通過(guò)版本信息能夠區(qū)分不同渠道,以及同一渠道的不同版本,并方便自定義類加載器引入渠道包,方便支付渠道的版本管理,進(jìn)行版本切換和灰度發(fā)布。
6、優(yōu)選的,所述多版本管理模塊還配置有流量權(quán)限控制規(guī)則,所述流量權(quán)限控制規(guī)則包括限流規(guī)則和熔斷規(guī)則。通過(guò)流量權(quán)限控制能夠隔離故障渠道,對(duì)故障渠道進(jìn)行限流,避免對(duì)支付系統(tǒng)的吞吐量造成影響,增加系統(tǒng)穩(wěn)定性,使得商戶及顧客擁有更好的支付體驗(yàn)。
7、優(yōu)選的,還包括打包插件,所述打包插件采用maven插件實(shí)現(xiàn),用于對(duì)需要隔離的渠道依賴配置信息進(jìn)行打包,以供對(duì)應(yīng)的自定義類加載器引入加載。該設(shè)計(jì)能夠避免渠道包沖突等問(wèn)題,且打包流程可定制化,簡(jiǎn)化了打包流程,提高了開(kāi)發(fā)效率,并保證了依賴隔離的有效性。
8、與現(xiàn)有技術(shù)相比,本申請(qǐng)具有以下有益效果:打破了傳統(tǒng)的雙親委派機(jī)制,為每個(gè)支付渠道及其依賴綁定獨(dú)立的自定義類加載器,實(shí)現(xiàn)不同支付渠道的隔離,確保每個(gè)支付渠道都會(huì)使用獨(dú)立的自定義類加載器進(jìn)行加載,沒(méi)有任何渠道沖突的風(fēng)險(xiǎn)。同時(shí)對(duì)相同支付渠道不同版本提供了多版本灰度發(fā)布的支持。
1.一種聚合支付多渠道隔離框架,包括支付服務(wù)層、引導(dǎo)類加載器、擴(kuò)展類加載器、系統(tǒng)類加載器和若干個(gè)支付渠道,其特征在于,還包括自定義類加載器、代理類加載器和多版本管理模塊;
2.根據(jù)權(quán)利要求1所述的一種聚合支付多渠道隔離框架,其特征在于,所述多版本管理模塊配置有各支付渠道的版本信息,所述版本信息包括渠道名稱、版本號(hào)和對(duì)應(yīng)渠道包的路徑。
3.根據(jù)權(quán)利要求2所述的一種聚合支付多渠道隔離框架,其特征在于,所述多版本管理模塊還配置有流量權(quán)限控制規(guī)則,所述流量權(quán)限控制規(guī)則包括限流規(guī)則和熔斷規(guī)則。
4.根據(jù)權(quán)利要求1所述的一種聚合支付多渠道隔離框架,其特征在于,還包括打包插件,所述打包插件采用maven插件實(shí)現(xiàn),用于對(duì)需要隔離的渠道依賴配置信息進(jìn)行打包,以供對(duì)應(yīng)的自定義類加載器引入加載。