引言
隨著科技金融發(fā)展,某銀行的相關(guān)系統(tǒng)建設(shè)目標(biāo)逐漸由量轉(zhuǎn)質(zhì),轄內(nèi)相關(guān)系統(tǒng)架構(gòu)也逐漸完成了從單體式架構(gòu)到微服務(wù)架構(gòu)的重構(gòu)。某銀行在面對(duì)新增微服務(wù)數(shù)量導(dǎo)致的運(yùn)維以及性能壓力的問(wèn)題時(shí),作為管理和運(yùn)維部門,結(jié)合業(yè)內(nèi)主流中臺(tái)概念和Spring Cloud Alibaba微服務(wù)一體化解決方案,提出構(gòu)建微服務(wù)技術(shù)中臺(tái)(Microservice Technology Center of the Bank,簡(jiǎn)稱“MTC”平臺(tái))方案,以實(shí)現(xiàn)高效管理運(yùn)維,同時(shí)提升各個(gè)微服務(wù)系統(tǒng)的穩(wěn)定性、應(yīng)對(duì)高并發(fā)等能力。
架構(gòu)選型
Spring Cloud是微服務(wù)系統(tǒng)架構(gòu)的一站式解決方案,為最常見(jiàn)的分布式系統(tǒng)模式提供了一種簡(jiǎn)單且易于接受的編程模型,依賴與Spring Boot組件,向開(kāi)發(fā)人員屏蔽原本復(fù)雜配置,提供了一套簡(jiǎn)單易用、更易部署和維護(hù)的微服務(wù)開(kāi)發(fā)腳手架,使我們能在Spring Boot的基礎(chǔ)上輕松地實(shí)現(xiàn)微服務(wù)項(xiàng)目的構(gòu)建。幫助開(kāi)發(fā)人員構(gòu)建有彈性的、可靠的、協(xié)調(diào)的應(yīng)用程序。
而本文選擇的是Spring Cloud Alibaba,它是阿里巴巴公司推出的自己研發(fā)的新一代Spring Cloud 組件,相較于上一代,Spring Cloud Alibaba在組件維護(hù)和社區(qū)活躍度方面優(yōu)于前者,具體區(qū)別見(jiàn)表1。并且Spring Cloud Alibaba上手門檻低,有良好的可視化界面,管理更加高效,環(huán)境搭建簡(jiǎn)單,適合快速上手,并且API都是用的中文,更適合國(guó)內(nèi)開(kāi)發(fā)環(huán)境。
微服務(wù)架構(gòu)設(shè)計(jì)
“MTC”平臺(tái)的開(kāi)發(fā)是基于Spring Cloud Alibaba架構(gòu)的,其保留Spring Cloud的特性的同時(shí),還開(kāi)發(fā)自主組件用于替換Spring Cloud內(nèi)原有組件,實(shí)現(xiàn)了性能和兼容性的雙提升。
負(fù)載均衡器采用服務(wù)器負(fù)載均衡器Loadbalancer和本地負(fù)載均衡器Nginx結(jié)合使用的形式,為了進(jìn)一步增加平臺(tái)負(fù)載能力,還采用了可視化流量控制的Sentinel服務(wù)保護(hù)框架。微服務(wù)網(wǎng)關(guān)采用的是Gateway,整體網(wǎng)關(guān)策略以Nginx作為網(wǎng)關(guān)集群統(tǒng)一管理。數(shù)據(jù)采集方面使用數(shù)據(jù)庫(kù)與Redis分布式緩存搭配使用方案,數(shù)據(jù)一致性則由Canal、RocketMQ和Kafka組成的消息總線進(jìn)行保障。
總結(jié)和展望
本文分析了技術(shù)中臺(tái)對(duì)于統(tǒng)一管理全轄微服務(wù)系統(tǒng)的重要性,同時(shí)比對(duì)了微服務(wù)架構(gòu)相較于單體式架構(gòu)的種種優(yōu)勢(shì),結(jié)合最新的Spring Cloud Alibaba 微服務(wù)解決方案,再以轄區(qū)內(nèi)信息化建設(shè)現(xiàn)存問(wèn)題為背景,實(shí)現(xiàn)了對(duì)某銀行微服務(wù)管理平臺(tái)技術(shù)中臺(tái)的架構(gòu)設(shè)計(jì),在實(shí)踐過(guò)程中也證明,本技術(shù)中臺(tái)的平臺(tái)性能、承載能力、穩(wěn)定性有了大幅度的提升,同時(shí)也對(duì)全轄區(qū)微服務(wù)系統(tǒng)有了較好的支撐。
參考文獻(xiàn):
[1] Auer F, Lenarduzzi V, Felderer M, et al. From monolithic systems to Microservices: An assessment framework[J]. Information and Software Technology, 2021, 137: 106600.
[2] Akbulut A, Perros H G. Performance Analysis of Microservice Design Patterns[J]. IEEE Internet Computing, 2019, 23(6): 19-27.
[3] Raji M, Hota A, Hobson T, et al. Scientific Visualization as a Microservice[J]. IEEE Transactions on Visualization and Computer Graphics, 2020, 26(4): 1760-1774.
[4] Wan X, Guan X, Wang T, et al. Application deployment using Microservice and Docker containers: Framework and optimization[J]. Journal of Network and Computer Applications, 2018, 119: 97-109.
作者簡(jiǎn)介:熊振東(1995—),男,漢族,四川瀘州人,科員,碩士研究生,研究方向:軟件工程。