本文介紹了景順長(zhǎng)城在金融云原生架構(gòu)演進(jìn)中選擇 APISIX 作為網(wǎng)關(guān)工具的技術(shù)細(xì)節(jié),同時(shí)分享了使用 APISIX 的實(shí)踐細(xì)節(jié),并對(duì) APISIX 的未來(lái)展望進(jìn)行了探討。
作者李奕浩,景順長(zhǎng)城信息技術(shù)部研發(fā)工程師,負(fù)責(zé)公司網(wǎng)關(guān)和業(yè)務(wù)系統(tǒng)上云等工作。
業(yè)務(wù)背景
景順長(zhǎng)城基金管理有限公司成立于 2003 年,是一家專(zhuān)注于資產(chǎn)管理領(lǐng)域的企業(yè)。目前,公司主要業(yè)務(wù)涵蓋量化投資、主動(dòng)收益和固定收益,擁有超過(guò) 6200 億的資金管理規(guī)模,為超過(guò) 6000 萬(wàn)的投資者提供服務(wù)。作者所在的信息技術(shù)部門(mén)為投資交易、產(chǎn)品運(yùn)營(yíng)、市場(chǎng)營(yíng)銷(xiāo)等服務(wù)系統(tǒng)提供技術(shù)支持和開(kāi)發(fā)業(yè)務(wù)需求。
公司內(nèi)眾多業(yè)務(wù)都需要流量網(wǎng)關(guān)作為重要支撐,然而在采用 APISIX 之前,我們遇到了不少問(wèn)題和痛點(diǎn):
痛點(diǎn) 1:網(wǎng)關(guān)不統(tǒng)一,維護(hù)成本高
首先介紹景順長(zhǎng)城業(yè)務(wù)系統(tǒng)在架構(gòu)上的演進(jìn),分為 3 大階段,本文基于階段 2 到 3 的轉(zhuǎn)變背景:
- 單體服務(wù)方式。服務(wù)應(yīng)用部署在物理機(jī)上,但是隨著服務(wù)應(yīng)用和業(yè)務(wù)的不斷增長(zhǎng),運(yùn)維和開(kāi)發(fā)成本開(kāi)始激增;
- 虛擬機(jī)方式。在虛擬機(jī)階段,各業(yè)務(wù)系統(tǒng)使用的網(wǎng)關(guān)不統(tǒng)一,業(yè)務(wù)各自為政,網(wǎng)關(guān)相關(guān)的機(jī)器服務(wù)也很多,維護(hù)成本一直很高。在基金證券行業(yè),網(wǎng)絡(luò)分區(qū)方面存在一定的監(jiān)管要求,每個(gè)網(wǎng)絡(luò)分區(qū)都需要按照信息安全級(jí)別劃分為不同的邏輯安全區(qū)域,或者是物理隔離安全的區(qū)域,各個(gè)區(qū)域使用防火墻達(dá)到網(wǎng)絡(luò)隔離的目的。
- 結(jié)合在金融科技云戰(zhàn)略以及數(shù)字化轉(zhuǎn)型的需求,啟動(dòng)了上云工程。
當(dāng)前業(yè)務(wù)系統(tǒng)大致分為了三個(gè)分區(qū):交易區(qū)、生產(chǎn)區(qū)、管理區(qū),每個(gè)分區(qū)部署的網(wǎng)關(guān)都不一樣。原本景順長(zhǎng)城使用 NGINX 作為 Web 服務(wù)器和反向代理,在同網(wǎng)絡(luò)分區(qū)中的業(yè)務(wù),都是使用了同一個(gè) NGINX,導(dǎo)致了每次服務(wù)變更或路由更新,都需要在這個(gè) NGINX 上面手動(dòng)更新和重載。
上圖就是當(dāng)前的系統(tǒng)架構(gòu),從上往下分別是用戶(hù)接入層、負(fù)載均衡層、網(wǎng)關(guān)集群層以及業(yè)務(wù)系統(tǒng)層,其中網(wǎng)關(guān)安全集群層使用了 Zuul、Spring Cloud Gateway、Kong 還有 NGINX 等多個(gè)框架,架構(gòu)管理不統(tǒng)一,管理起來(lái)比較繁瑣。
痛點(diǎn) 2:網(wǎng)關(guān)承載能力弱
現(xiàn)存的網(wǎng)關(guān)只使用了很基本的能力,比如負(fù)載均衡、路由轉(zhuǎn)發(fā),鑒權(quán)、灰度發(fā)布、熔斷能力都沒(méi)有。
前面提到的單一的 NGINX 服務(wù),每次服務(wù)變更和路由更新都需要在 NGINX 上面進(jìn)行配置。由于業(yè)務(wù)前端的服務(wù)都集成在 NGINX 上面,沒(méi)有對(duì)接 DevOps 平臺(tái)生產(chǎn)環(huán)境,NGINX 的配置項(xiàng)數(shù)量如今已經(jīng)相當(dāng)龐大了,單個(gè) Server 模塊超過(guò) 700 行,維護(hù)成本相當(dāng)高。
痛點(diǎn) 3:限流熔斷、灰度發(fā)布配置繁瑣
- 限流熔斷能力缺失
- 灰度能力配置繁瑣:需同步改動(dòng)多個(gè)應(yīng)用代碼和數(shù)據(jù)庫(kù)變更?,F(xiàn)在使用的網(wǎng)關(guān)需要單獨(dú)做對(duì)應(yīng)的開(kāi)發(fā),并且業(yè)務(wù)側(cè)也要做對(duì)應(yīng)的代碼修改,才能實(shí)現(xiàn)不同服務(wù)的灰度能力(全鏈路灰度)。
痛點(diǎn) 4:新增服務(wù)涉及步驟繁多
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-401682.html
在新增文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-401682.html
到了這里,關(guān)于景順長(zhǎng)城基于 Apache APISIX 在金融云原生的生產(chǎn)實(shí)踐的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!