唐山銀行微服務(wù)架構(gòu)模式

來源: 發(fā)布時間:2022-07-27

    在微服務(wù)落地伊始就逐漸發(fā)力,當(dāng)下已經(jīng)成為Java體系下微服務(wù)框架的代名詞,SpringCloud以Netfilx全家桶作為初始化基礎(chǔ),為開發(fā)人員提供業(yè)務(wù)單元服務(wù)支撐框架的同時,也開發(fā)出一系列的服務(wù)治理SDK,供開發(fā)人員選用。在微服務(wù)發(fā)展背景下,SpringCloud可謂如日中天。DubboDubbo原為阿里巴巴開源的rpc遠(yuǎn)程調(diào)用框架,初始設(shè)計初衷在于解決以rpc協(xié)議為標(biāo)準(zhǔn)的遠(yuǎn)程服務(wù)調(diào)用問題,隨著阿里巴巴重啟Dubbo,其也開始在服務(wù)治理領(lǐng)域發(fā)力,成為很多以rpc協(xié)議作為通信基礎(chǔ)系統(tǒng)平臺的。粗略而言,Dubbo和SpringCloud已成為Java體系下的服務(wù)治理“雙”。gRPCgRPC與Dubbo類似,初是由Google開源的一款遠(yuǎn)程服務(wù)調(diào)用框架。gRPC憑借HTTP/2和RrotoBuf服務(wù)定義方式以及多語言支持的特性,加之其易于定制與開發(fā),能夠方面開發(fā)人員進(jìn)行快速擴(kuò)展和靈活發(fā)揮,從而也成為眾多用戶的選擇之一。ServiceMeshServiceMesh的出現(xiàn)不在于它實(shí)現(xiàn)了多少功能,而是它徹底把業(yè)務(wù)單元與業(yè)務(wù)支撐體系分離,完整貫徹了“術(shù)業(yè)有專攻”的思想理念。它允許業(yè)務(wù)人員聚焦業(yè)務(wù)實(shí)現(xiàn),不再關(guān)心服務(wù)治理相關(guān)的內(nèi)容。通過與容器技術(shù)結(jié)合,下沉至基礎(chǔ)設(shè)施,從通信協(xié)議的角度徹底接管業(yè)務(wù)通信交互過程。這種微服務(wù)架構(gòu)模式深刻影響了應(yīng)用和數(shù)據(jù)庫之間的關(guān)系,不像傳統(tǒng)多個服務(wù)共享一個數(shù)據(jù)庫。唐山銀行微服務(wù)架構(gòu)模式

    微服務(wù)易于被一個開發(fā)人員理解,修改和維護(hù),這樣小團(tuán)隊(duì)能夠更關(guān)注自己的工作成果。無需通過合作才能體現(xiàn)價值。微服務(wù)允許你利用融合新技術(shù)。微服務(wù)只是業(yè)務(wù)邏輯的代碼,不會和HTML,CSS或其他界面組件混合。微服務(wù)能夠即時被要求擴(kuò)展。微服務(wù)能部署中低端配置的服務(wù)器上。易于和第三方集成。每個微服務(wù)都有自己的存儲能力,可以有自己的數(shù)據(jù)庫。也可以有統(tǒng)一數(shù)據(jù)庫。微服務(wù)架構(gòu)的缺點(diǎn)微服務(wù)架構(gòu)可能帶來過多的操作。需要DevOps技巧(en./wiki/DevOps).可能雙倍的努力。分布式系統(tǒng)可能復(fù)雜難以管理。因?yàn)榉植疾渴鸶檰栴}難。當(dāng)服務(wù)數(shù)量增加,管理復(fù)雜性增加。需要考慮的問題單個微服務(wù)代碼量小,易修改和維護(hù)。但是,系統(tǒng)復(fù)雜度的總量是不變的,每個服務(wù)代碼少了,但服務(wù)的個數(shù)肯定就多了。就跟拼圖游戲一樣,切的越碎,越難拼出整幅圖。一個系統(tǒng)被拆分成零碎的微服務(wù),后要集成為一個完整的系統(tǒng),其復(fù)雜度肯定比大塊的功能集成要高很多。單個微服務(wù)數(shù)據(jù),可部署和運(yùn)行。雖然微服務(wù)本身是可以部署和運(yùn)行的,但仍然避免不了業(yè)務(wù)上的你來我往,這就涉及到要對外通信,當(dāng)微服務(wù)的數(shù)量達(dá)到一定量級的時候,如何提供一個高效的集群通信機(jī)制成為一個問題。湖南金融微服務(wù)架構(gòu)服務(wù)中心另外,這種思路也影響到了企業(yè)級數(shù)據(jù)模式。

    我們從服務(wù)治理功能場景的橫向切面來看,其可以抽象為四個層面:量化,追蹤,管控,規(guī)范。量化量化包括服務(wù)數(shù)據(jù)采集、數(shù)據(jù)過濾和數(shù)據(jù)聚合三個層次。數(shù)據(jù)采集進(jìn)一步細(xì)分為業(yè)務(wù)數(shù)據(jù)和性能數(shù)據(jù),業(yè)務(wù)數(shù)據(jù)主要包括方法響應(yīng)周期、服務(wù)內(nèi)資源消耗規(guī)模、業(yè)務(wù)異常檢測、方法調(diào)用次數(shù)、服務(wù)運(yùn)行日志等;性能數(shù)據(jù)包括服務(wù)間響應(yīng)時長、服務(wù)整體資源消耗等。服務(wù)本身需要依賴不同的特性,構(gòu)建不同的agent,來搜集服務(wù)運(yùn)行時產(chǎn)生的數(shù)據(jù)。數(shù)據(jù)過濾針對采集的數(shù)據(jù)按照一定的格式規(guī)范進(jìn)一步加工處理,例如基于kafka對原始的日志數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理后,導(dǎo)入日志系統(tǒng)。數(shù)據(jù)聚合需要對的服務(wù)數(shù)據(jù)進(jìn)行聚合操作,例如服務(wù)調(diào)用鏈呈現(xiàn)。通過服務(wù)量化能夠清晰的記錄服務(wù)運(yùn)行時產(chǎn)生的所有數(shù)據(jù),為服務(wù)跟蹤呈現(xiàn)和服務(wù)管控策略制定并提供強(qiáng)有力的數(shù)據(jù)支撐。追蹤追蹤能夠有效量化服務(wù)調(diào)用鏈路上發(fā)生的事情,具體來講,可以劃分為:服務(wù)間的鏈路跟蹤和服務(wù)內(nèi)部的方法調(diào)用鏈路跟蹤。追蹤的本質(zhì),不是為了呈現(xiàn)服務(wù)鏈路及服務(wù)路由信息,更重要的是呈現(xiàn)服務(wù)間請求,以及服務(wù)內(nèi)部請求的響應(yīng)延遲,異常反饋,能夠快速定位服務(wù)以及服務(wù)內(nèi)在代碼存在的問題。管控管控依賴于量化采集的聚合數(shù)據(jù)。

    所以這種能力需要系統(tǒng)單獨(dú)提供。還有一些企業(yè)級關(guān)注的系統(tǒng)問題,比如,安全策略如何集中管理?系統(tǒng)故障如何快速審計和跟蹤到具體服務(wù)?整個系統(tǒng)狀態(tài)如何監(jiān)控?服務(wù)之間的依賴關(guān)系如何管理?等等這些問題都不是單個微服務(wù)考慮的范疇,而需要有一個系統(tǒng)性的考慮和設(shè)計,讓每個微服務(wù)都能夠按照系統(tǒng)性的要求和約束提供對應(yīng)的安全性,可靠性,可維護(hù)性的能力。API為什么很重要?服務(wù)價值的精華體現(xiàn)?可靠、可用、可讀?只有一次機(jī)會實(shí)現(xiàn)一個API網(wǎng)關(guān)作為所有客戶端的入口。API網(wǎng)關(guān)有兩種方式來處理請求。有些請求被簡單地代理/路由到合適的服務(wù)上,其他的請求被轉(zhuǎn)給到一組服務(wù)。相比于提供普適的API,API網(wǎng)關(guān)根據(jù)不同的客戶端開放不同的API。比如,NetflixAPI網(wǎng)關(guān)運(yùn)行著客戶端特定的適配器代碼,會向客戶端提供適合其需求的API。API網(wǎng)關(guān)也可以實(shí)現(xiàn)安全性,比如驗(yàn)證客戶端是否被授權(quán)進(jìn)行某請求。設(shè)計要素?Version?RequstID?Auth&Signature?RateLimit?Docs?ErrorCode&Message微服務(wù)治理?按需伸縮–部署與監(jiān)控運(yùn)維成本?部署–機(jī)器數(shù)量與部署成本?業(yè)務(wù)–服務(wù)依賴、治理。團(tuán)隊(duì)對服務(wù)的整個生命周期負(fù)責(zé),工作在的上下文中,自己決策自己治理,而不需要統(tǒng)一的指揮中心。

    什么是微服務(wù)架構(gòu)微服務(wù)是指按業(yè)務(wù)與數(shù)據(jù)將統(tǒng)一的系統(tǒng)拆分成若干相對自治的子服務(wù),各服務(wù)只實(shí)現(xiàn)特定功能(如登錄服務(wù)只實(shí)現(xiàn)登錄相關(guān)的邏輯),服務(wù)以接口的形式為應(yīng)用或其他服務(wù)提供功能與數(shù)據(jù)(如訂單服務(wù)調(diào)用登錄服務(wù)的檢查登錄態(tài)接口來判斷用戶是否登錄),這種按業(yè)務(wù)拆分系統(tǒng)的解決方案稱之為微服務(wù)架構(gòu)。微服務(wù)架構(gòu)的特點(diǎn)微服務(wù)是指開發(fā)一個組小型的但有業(yè)務(wù)功能的服務(wù),每個服務(wù)都有自己的處理和輕量通訊機(jī)制,可以部署在單個或多個服務(wù)器上微服務(wù)也指一種種松耦合的、有一定的有界上下文的面向服務(wù)架構(gòu)。也就是說,如果每個服務(wù)都要同時修改,那么它們就不是微服務(wù),因?yàn)樗鼈兙o耦合在一起;它的主要特點(diǎn)是組件化、松耦合、自治、去中心化,體現(xiàn)在以下幾個方面:一組小的服務(wù)服務(wù)粒度要小,而每個服務(wù)是針對一個單一職責(zé)的業(yè)務(wù)能力的封裝,專注做好一件事情。部署運(yùn)行和擴(kuò)展每個服務(wù)能夠被部署并運(yùn)行在一個進(jìn)程內(nèi)。這種運(yùn)行和部署方式能夠賦予系統(tǒng)靈活的代碼組織方式和發(fā)布節(jié)奏,使得快速交付和應(yīng)對變化成為可能。開發(fā)和演化技術(shù)選型靈活,不受遺留系統(tǒng)技術(shù)約束。合適的業(yè)務(wù)問題選擇合適的技術(shù)可以演化。服務(wù)與服務(wù)之間采取與語言無關(guān)的API進(jìn)行集成。相對單體架構(gòu)。組件的劃分在微服務(wù)架構(gòu)中很關(guān)鍵,關(guān)系到能否減少變化。一般原則是該組件能否更換和升級。湖南金融微服務(wù)架構(gòu)服務(wù)中心

另一方面,還可以通過服務(wù)邊界和服務(wù)協(xié)議方面的演進(jìn)來盡可能減少這樣的關(guān)聯(lián)。唐山銀行微服務(wù)架構(gòu)模式

    提供了數(shù)據(jù)/發(fā)布訂閱、負(fù)載均衡、分布式同步等功能。Zookeeper也是基于主從架構(gòu),搭建了一個可高擴(kuò)展的服務(wù)集群,其服務(wù)架構(gòu)如下所示:4、EurekaEureka基于RestfulApi開發(fā)的服務(wù)注冊與發(fā)現(xiàn)組件,由Netflix開源。遺憾的是,目前Eureka開源到,。關(guān)于Eureka體系具體內(nèi)容可參考之前文章:微服務(wù)注冊中心Eureka解析關(guān)于上述不同組件所實(shí)現(xiàn)的服務(wù)注冊與發(fā)現(xiàn)以及相關(guān)特性支持,具體可參考如下列表所示:EtcdConsuleZookeeperEurekaCAP支持CPCPC***一致性算法RaftRaftPaxos/KV存儲服務(wù)支持支持支持/接口協(xié)議支持Http/gRPCHttp/DNSClientHttp(Sidecar)Watch支持支持longpolling全量/支持longpolling支持支持longpolling/大部分增量自身監(jiān)控metricsmetrics/metrics安全https支持(弱)acl/httpsacl/SpringCloud集成支持支持支持支持多數(shù)據(jù)中心/支持//語言特性隨著微服務(wù)架構(gòu)的日益成熟,新興市場的場景涌現(xiàn)以及云原生生態(tài)領(lǐng)域的不斷完善,衍生出跨不同體系平臺的語言。比如,當(dāng)前市場火熱的Go語言。其不支撐微服務(wù)的業(yè)務(wù)架構(gòu)所需,同時,也擁抱云原生的相關(guān)平臺,使得其發(fā)展勢頭較猛,越來越多的廠商及企業(yè)開始基于其進(jìn)行業(yè)務(wù)開發(fā)。唐山銀行微服務(wù)架構(gòu)模式

首匯信息技術(shù)河北有限公司位于新石北路368號金石創(chuàng)新大廈105室,是一家專業(yè)的計算機(jī)硬件技術(shù)研發(fā)、技術(shù)咨詢、技術(shù)服務(wù);計算機(jī)系統(tǒng)集成服務(wù);貨物或技術(shù)進(jìn)出口(國家限制和禁止的除外);互聯(lián)網(wǎng)信息服務(wù)(憑許可證經(jīng)營);設(shè)計、制作、代理國內(nèi)廣告業(yè)務(wù);發(fā)布國內(nèi)戶外廣告業(yè)務(wù);汽車配件、機(jī)械設(shè)備、五金產(chǎn)品、電子產(chǎn)品、化工產(chǎn)品(危險化學(xué)品及易制毒化學(xué)品除外、無存儲)、橡膠制品(醫(yī)用橡膠制品除外)、通信設(shè)備(衛(wèi)星電視廣播地面接收設(shè)施除外)、儀器儀表、安全技術(shù)防范設(shè)備、辦公設(shè)備的批發(fā)、零售。(依法需經(jīng)批準(zhǔn)的項(xiàng)目,經(jīng)相關(guān)部門批準(zhǔn)后方可開展經(jīng)營活動)公司。專業(yè)的團(tuán)隊(duì)大多數(shù)員工都有多年工作經(jīng)驗(yàn),熟悉行業(yè)專業(yè)知識技能,致力于發(fā)展中臺系統(tǒng)的品牌。我公司擁有強(qiáng)大的技術(shù)實(shí)力,多年來一直專注于計算機(jī)硬件技術(shù)研發(fā)、技術(shù)咨詢、技術(shù)服務(wù);計算機(jī)系統(tǒng)集成服務(wù);貨物或技術(shù)進(jìn)出口(國家限制和禁止的除外);互聯(lián)網(wǎng)信息服務(wù)(憑許可證經(jīng)營);設(shè)計、制作、代理國內(nèi)廣告業(yè)務(wù);發(fā)布國內(nèi)戶外廣告業(yè)務(wù);汽車配件、機(jī)械設(shè)備、五金產(chǎn)品、電子產(chǎn)品、化工產(chǎn)品(危險化學(xué)品及易制毒化學(xué)品除外、無存儲)、橡膠制品(醫(yī)用橡膠制品除外)、通信設(shè)備(衛(wèi)星電視廣播地面接收設(shè)施除外)、儀器儀表、安全技術(shù)防范設(shè)備、辦公設(shè)備的批發(fā)、零售。(依法需經(jīng)批準(zhǔn)的項(xiàng)目,經(jīng)相關(guān)部門批準(zhǔn)后方可開展經(jīng)營活動)的發(fā)展和創(chuàng)新,打造高指標(biāo)產(chǎn)品和服務(wù)。首匯信息技術(shù)始終以質(zhì)量為發(fā)展,把顧客的滿意作為公司發(fā)展的動力,致力于為顧客帶來***的信息化中臺系統(tǒng)規(guī)劃,中臺ERP服務(wù)平臺。