自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

面對(duì)“恐龍級(jí)”老舊系統(tǒng),怎樣用微服務(wù)實(shí)現(xiàn)敏捷交付?

存儲(chǔ) 存儲(chǔ)軟件
雖然今天一提起IT,很多人首先想到的是互聯(lián)網(wǎng)。其實(shí),銀行是IT技術(shù)的首批重度用戶之一,也因此,銀行有大量的遺留系統(tǒng),有些“恐龍級(jí)”系統(tǒng)甚至有超過(guò)30年的歷史。所以,銀行系統(tǒng)給人的刻板印象總是老舊、臃腫、用戶體驗(yàn)差。

 雖然今天一提起IT,很多人首先想到的是互聯(lián)網(wǎng)。其實(shí),銀行是IT技術(shù)的首批重度用戶之一,也因此,銀行有大量的遺留系統(tǒng),有些“恐龍級(jí)”系統(tǒng)甚至有超過(guò)30年的歷史。所以,銀行系統(tǒng)給人的刻板印象總是老舊、臃腫、用戶體驗(yàn)差。

一、遺留系統(tǒng)的問(wèn)題

遺留系統(tǒng)經(jīng)歷了很多代人在上面“添磚加瓦”,其代碼早已經(jīng)是一團(tuán)亂麻。維護(hù)難,變更成本高。

1、強(qiáng)監(jiān)管導(dǎo)致開發(fā)求穩(wěn)

銀行是一個(gè)強(qiáng)監(jiān)管、不允許出錯(cuò)的行業(yè),長(zhǎng)期以來(lái),其系統(tǒng)設(shè)計(jì)、開發(fā)節(jié)奏的原則就是求穩(wěn),快速應(yīng)變一向不是傳統(tǒng)銀行系統(tǒng)要考慮的事情,這些特性也深深根植在遺留系統(tǒng)中。

但是面對(duì)快速變化的市場(chǎng)環(huán)境和業(yè)務(wù)需求,特別是互聯(lián)網(wǎng)金融的沖擊,近年來(lái),銀行也要探討如何更敏捷地交付和實(shí)現(xiàn)DevOps。這些遺留系統(tǒng)顯然不能適應(yīng)新時(shí)代的要求。

2、難以一次性替代遺留系統(tǒng)

然而,要一次性替代遺留系統(tǒng)又談何容易呢?由于系統(tǒng)已經(jīng)深深根植在銀行的生態(tài)中,每個(gè)系統(tǒng)和周邊系統(tǒng)都有千絲萬(wàn)縷的關(guān)系,剪不斷理還亂。

3、數(shù)據(jù)遷移緩慢

數(shù)據(jù)遷移也是一件頭疼的事情。我們其中一塊業(yè)務(wù)要把原來(lái)的系統(tǒng)替換掉,光是數(shù)據(jù)遷移就花了兩年的時(shí)間,而這個(gè)項(xiàng)目我們?cè)镜挠?jì)劃的時(shí)間是一年,也就是說(shuō),它實(shí)際延期了整整一倍的時(shí)間,成本也大大超出預(yù)算。這種現(xiàn)象幾乎發(fā)生在所有銀行系統(tǒng)的升級(jí)、替代項(xiàng)目中。因此遺留系統(tǒng)的替代成本很高,也蘊(yùn)藏著巨大的風(fēng)險(xiǎn)。

4、員工成就感不高

對(duì)于員工來(lái)說(shuō),外面的世界都在談?wù)撐⒎?wù)、互聯(lián)網(wǎng),甚至是人工智能、區(qū)塊鏈等新技術(shù),而長(zhǎng)期維護(hù)這些系統(tǒng)的IT工程師完全沒有機(jī)會(huì)接觸到這些新技術(shù),他們很容易感覺到自己與外面的世界完全脫節(jié),工作成就感不高,對(duì)公司來(lái)說(shuō),也不利于人才培養(yǎng)和團(tuán)隊(duì)穩(wěn)定。

5、系統(tǒng)間交互重度依賴落地文件

除了以上問(wèn)題,我們的系統(tǒng)間交互重度依賴落地文件。每一個(gè)落地文件除了要滿足對(duì)方的數(shù)據(jù)要求外,還要完全匹配格式的要求,這就導(dǎo)致每當(dāng)需要一個(gè)新的接口文件時(shí),都可能需要進(jìn)行定制化開發(fā),成本高,周期長(zhǎng)。特別是要和其他外部客戶進(jìn)行數(shù)據(jù)對(duì)接時(shí),這樣的定制化開發(fā)導(dǎo)致我們接入新客戶的周期變長(zhǎng),影響了業(yè)務(wù)開展的時(shí)間,錯(cuò)失市場(chǎng)機(jī)會(huì)。

在我們的一個(gè)項(xiàng)目中,我們的系統(tǒng)需要和20多家臺(tái)灣的托管銀行進(jìn)行數(shù)據(jù)對(duì)接,其實(shí)大家所需要的數(shù)據(jù)都差不多,但是因?yàn)闆]有統(tǒng)一的文件格式,我們不得不為每一家托管銀行開發(fā)落地文件接口。因此,我們的業(yè)務(wù)也在推動(dòng)客戶通過(guò)API和我們交互數(shù)據(jù)。API的好處是,我們只需要滿足對(duì)方所需要的數(shù)據(jù),如何“消費(fèi)”數(shù)據(jù)完全由對(duì)方自己處理,實(shí)現(xiàn)了解耦。

二、解決方案

在這個(gè)契機(jī)下,我們產(chǎn)生了通過(guò)在遺留核心系統(tǒng)外圍搭建自主研發(fā)的API微服務(wù)系統(tǒng)的思路:

  • 一方面可以加快接入新客戶的進(jìn)程;
  • 另一方面可以逐步降低對(duì)遺留系統(tǒng)的依賴,并借此機(jī)會(huì)讓我們的IT工程師接觸和掌握***的微服務(wù)技術(shù)和框架。

由于是全新系統(tǒng),我們采納了***Spring Cloud全家桶和Spring Boot框架:

  • Spring Cloud提供了微服務(wù)網(wǎng)關(guān)所需要的所有組件,如路由、服務(wù)注冊(cè)、熔斷、配置中心等。
  • Spring Boot具有“開箱即用”的特性和大量強(qiáng)大的Starter組件,大大加快了開發(fā)微服務(wù)應(yīng)用的速度。

 

同時(shí),我們也利用其它***的開源框架如ELK做分布式日志跟蹤、Grafana做服務(wù)監(jiān)控、Zipkin可視化請(qǐng)求訪問(wèn)鏈路等,實(shí)現(xiàn)了系統(tǒng)的現(xiàn)代化。

 

我們采納微服務(wù)架構(gòu)是為了實(shí)現(xiàn)DevOps,而在API開發(fā)過(guò)程中,我們采用了大量DevOps工具棧實(shí)現(xiàn)持續(xù)交付。

  • 基于Spring Cloud Contract的契約測(cè)試解耦上下游開發(fā)——通過(guò)契約,我們作為API提供者與API消費(fèi)者在開發(fā)前就約定了對(duì)接口的期望,這樣雙方不必等對(duì)方都完成了開發(fā)才能進(jìn)行集成測(cè)試,而是可以圍繞契約按照自己的步伐進(jìn)行開發(fā)和測(cè)試;
  • 通過(guò)FitNesse實(shí)現(xiàn)驗(yàn)收條件驅(qū)動(dòng)開發(fā)——與業(yè)務(wù)人員在需求階段把具體的驗(yàn)收條件確定下來(lái),并通過(guò)FitNesse的文檔固化下來(lái),然后編寫相應(yīng)的測(cè)試代碼把驗(yàn)收測(cè)試自動(dòng)化,成為持續(xù)集成的一部分。實(shí)現(xiàn)了交付的閉環(huán);
  • 通過(guò)Ansible實(shí)現(xiàn)自動(dòng)化部署和基礎(chǔ)設(shè)施即代碼,實(shí)現(xiàn)快速部署。

由于數(shù)據(jù)全部來(lái)自遺留系統(tǒng)的數(shù)據(jù)庫(kù),而遺留系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)也非常復(fù)雜,比如獲取基金信息,背后可能需要整合幾十個(gè)數(shù)據(jù)表。

我們通過(guò)設(shè)計(jì)領(lǐng)域模型對(duì)系統(tǒng)能提供的數(shù)據(jù)進(jìn)行了抽象,形成領(lǐng)域模型,并以此劃分微服務(wù)應(yīng)用的邊界,使每個(gè)微服務(wù)應(yīng)用可以提供一個(gè)獨(dú)立的領(lǐng)域數(shù)據(jù),確保服務(wù)的隔離性。

按照目前的設(shè)計(jì),我們將提供基金、投資者、銷售機(jī)構(gòu)、交易數(shù)據(jù)等的領(lǐng)域數(shù)據(jù),并整合到銀行的API商店服務(wù)外部客戶。

通過(guò)微服務(wù)架構(gòu),整個(gè)系統(tǒng)的伸縮性也得到了保證,當(dāng)某些服務(wù)需要更多資源時(shí),如交易數(shù)據(jù)服務(wù),其數(shù)據(jù)量大,請(qǐng)求頻繁,我們可以根據(jù)流量,通過(guò)部署多個(gè)交易數(shù)據(jù)微服務(wù)應(yīng)用來(lái)進(jìn)行橫向容量擴(kuò)展。

我們也在研究系統(tǒng)上云的可行性,云部署將為我們提供更好的彈性和一步到位的容器化解決方案,降低運(yùn)維的難度并提高可靠性。

三、從想法到現(xiàn)實(shí)

我們有了思路和想法,但是要使它得到認(rèn)可并變成現(xiàn)實(shí)需要經(jīng)歷一個(gè)反復(fù)溝通的過(guò)程。我們的架構(gòu)設(shè)計(jì)需要得到架構(gòu)委員會(huì)的評(píng)審和認(rèn)可,在可行性、災(zāi)備、技術(shù)棧上都要考慮周全。

繼而我們也請(qǐng)了一些不了解我們業(yè)務(wù)和系統(tǒng)的外部專家來(lái)進(jìn)行評(píng)審,我們要說(shuō)服這些“外人”明白我們想做什么、怎么做以及為什么要做,這樣也能讓這些專家提出一些我們未考慮到的點(diǎn)。

然后我們要和其他要做API的部門開展API工作坊,確保大家在網(wǎng)關(guān)、技術(shù)棧、安全機(jī)制上有統(tǒng)一的規(guī)范,將來(lái)實(shí)現(xiàn)更好的融合。

而最最重要的是,我們目前還是基于項(xiàng)目立項(xiàng)的,沒有單獨(dú)為產(chǎn)品立項(xiàng)的機(jī)制,所以要把這個(gè)產(chǎn)品做出來(lái),還需要尋找一個(gè)合適的項(xiàng)目,通過(guò)項(xiàng)目實(shí)施把它實(shí)現(xiàn)出來(lái)。經(jīng)歷了半年的歷程,我們的想法已經(jīng)成為目前某個(gè)重要項(xiàng)目的實(shí)施過(guò)程。

四、總結(jié)

大量遺留系統(tǒng)是銀行普遍的痛點(diǎn),我們通過(guò)在遺留系統(tǒng)外圍搭建自主研發(fā)的微服務(wù)系統(tǒng)來(lái)逐步降低對(duì)遺留系統(tǒng)的依賴。

系統(tǒng)間交互重度依賴落地文件,我們通過(guò)用API取代落地文件來(lái)解耦上下游的開發(fā)依賴。

通過(guò)這些手段,我們將加快接入新客戶的進(jìn)程,也會(huì)提升自身的敏捷性,創(chuàng)造更多讓員工接觸、掌握***技術(shù)的機(jī)會(huì),實(shí)現(xiàn)銀行系統(tǒng)的現(xiàn)代化,更好地適應(yīng)快速變化的市場(chǎng)環(huán)境和業(yè)務(wù)需求。

以上是我關(guān)于銀行遺留系統(tǒng)痛點(diǎn)的分享,后續(xù)我將著重解析基金服務(wù)API微服務(wù)系統(tǒng)的構(gòu)建過(guò)程與技術(shù)實(shí)現(xiàn),歡迎大家持續(xù)關(guān)注,有想要了解的內(nèi)容也可留言告訴我。

責(zé)任編輯:武曉燕 來(lái)源: 今日頭條
相關(guān)推薦

2009-12-02 16:08:51

linux系統(tǒng)

2016-07-12 17:29:40

Docker阿里云技術(shù)峰會(huì)

2019-12-26 12:47:10

BashLinux命令

2010-08-26 10:42:29

ADSL ModemDHCP服務(wù)器

2022-05-12 07:37:51

單點(diǎn)登錄微服務(wù)開源

2019-11-20 12:30:21

Python編程語(yǔ)言語(yǔ)音識(shí)別

2018-04-11 09:30:16

Linux硬盤分區(qū)parted

2019-11-08 15:10:59

BashBash編程Linux

2017-09-05 14:05:11

微服務(wù)spring clou路由

2023-12-29 18:53:58

微服務(wù)Saga模式

2013-02-26 10:05:16

vmwareAWSOpenStack

2016-12-22 10:44:30

數(shù)據(jù)分析找對(duì)象大數(shù)據(jù)

2013-04-08 10:54:51

Javascript

2009-06-01 09:34:22

2011-01-21 13:41:09

Sendmail

2015-08-27 10:02:59

2021-01-25 15:00:44

微服務(wù)分布式日志

2009-11-30 15:36:35

阿爾法路由器v3

2010-04-16 10:38:49

CPU消耗

2009-11-26 17:03:24

Open Suse打印
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)