
引言
隨著科技金融發(fā)展,某銀行的相關系統(tǒng)建設目標逐漸由量轉質,轄內相關系統(tǒng)架構也逐漸完成了從單體式架構到微服務架構的重構。某銀行在面對新增微服務數量導致的運維以及性能壓力的問題時,作為管理和運維部門,結合業(yè)內主流中臺概念和Spring Cloud Alibaba微服務一體化解決方案,提出構建微服務技術中臺(Microservice Technology Center of the Bank,簡稱“MTC”平臺)方案,以實現高效管理運維,同時提升各個微服務系統(tǒng)的穩(wěn)定性、應對高并發(fā)等能力。
架構選型
Spring Cloud是微服務系統(tǒng)架構的一站式解決方案,為最常見的分布式系統(tǒng)模式提供了一種簡單且易于接受的編程模型,依賴與Spring Boot組件,向開發(fā)人員屏蔽原本復雜配置,提供了一套簡單易用、更易部署和維護的微服務開發(fā)腳手架,使我們能在Spring Boot的基礎上輕松地實現微服務項目的構建。幫助開發(fā)人員構建有彈性的、可靠的、協(xié)調的應用程序。
而本文選擇的是Spring Cloud Alibaba,它是阿里巴巴公司推出的自己研發(fā)的新一代Spring Cloud 組件,相較于上一代,Spring Cloud Alibaba在組件維護和社區(qū)活躍度方面優(yōu)于前者,具體區(qū)別見表1。并且Spring Cloud Alibaba上手門檻低,有良好的可視化界面,管理更加高效,環(huán)境搭建簡單,適合快速上手,并且API都是用的中文,更適合國內開發(fā)環(huán)境。
微服務架構設計
“MTC”平臺的開發(fā)是基于Spring Cloud Alibaba架構的,其保留Spring Cloud的特性的同時,還開發(fā)自主組件用于替換Spring Cloud內原有組件,實現了性能和兼容性的雙提升。
負載均衡器采用服務器負載均衡器Loadbalancer和本地負載均衡器Nginx結合使用的形式,為了進一步增加平臺負載能力,還采用了可視化流量控制的Sentinel服務保護框架。微服務網關采用的是Gateway,整體網關策略以Nginx作為網關集群統(tǒng)一管理。數據采集方面使用數據庫與Redis分布式緩存搭配使用方案,數據一致性則由Canal、RocketMQ和Kafka組成的消息總線進行保障。
總結和展望
本文分析了技術中臺對于統(tǒng)一管理全轄微服務系統(tǒng)的重要性,同時比對了微服務架構相較于單體式架構的種種優(yōu)勢,結合最新的Spring Cloud Alibaba 微服務解決方案,再以轄區(qū)內信息化建設現存問題為背景,實現了對某銀行微服務管理平臺技術中臺的架構設計,在實踐過程中也證明,本技術中臺的平臺性能、承載能力、穩(wěn)定性有了大幅度的提升,同時也對全轄區(qū)微服務系統(tǒng)有了較好的支撐。
參考文獻:
[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.
作者簡介:熊振東(1995—),男,漢族,四川瀘州人,科員,碩士研究生,研究方向:軟件工程。