本文主要談及了服務互通開放典型問題,也介紹了企業業務能力api化,着重說明了雲服務總線csb的服務處理過程,最後概括了綜合場景。
<b>以下為精彩内容整理:</b>
雲服務總線csb與esb有什麼關系呢?csb就是網際網路以及雲計算場景下的企業服務總線,但重點不同,csb真正要做的是能力開放平台,無論是esb還是csb,它們都是要實作系統之間的服務互通。
服務互通開放典型問題
<b>服務協定和接口差異:</b>
舉個例子,如果用企業網際網路架構平台 apsara aliware的“三駕馬車”(edas/drds/mq)建構一個新系統,怎樣與原來的系統互動呢?兩個系統之間協定和接口形态可能很不一樣(同步異步、參數結構、封包格式)。從服務消費者的角度來說,想把某些東西為我所用,想要內建或者調用的東西是确定的,配置或者實作對應的擴充卡就好,這就是esb的典型場景。而雲服務總線csb更多從服務提供者的角度來考慮,他的一個已有系統要對外開放服務,要面對的是更不确定更廣泛的服務消費使用者群,消費者應用的體量和類型可能是各式各樣的。那麼,首先應該有一個友善的機制,使得在csb上釋出服務的時候不需要針對不同的消費方協定做不同的處理,而消費方應用也可以很友善地使用廣泛通用的、或者自己偏好的服務協定來調用這個服務;其次,還要讓服務釋出者可以在csb上設定開放出來的接口結構和原有接口的差異,做一定的變化、簡化、甚至屏蔽,不單是參數個數和清單結構上的不同,也包括參數内容格式的轉換,即通常所謂的封包轉換。
<b>網絡防火牆限制限制:</b>
企業内部的網絡結構和系統之間的部署和隔離的情況可能會比較複雜。例如一個系統配置了防火牆,假設隻能從内部通路到外部,外部不能通路内部,但又需要把系統内部的服務開放出去給别人用,csb該怎麼解決?又例如企業有多個子系統,互相之間是網絡隔絕的,隻能和一個中心系統互動,那麼csb如何讓一個子系統的服務能為另一個子系統所用?
安全性管理授權鑒權:系統間的服務的通路通常都需要認證和鑒權。在csb的服務進行中,認證就是确定通路方是系統認可的合法服務消費者,鑒權是指使用者對指定服務的通路是得到過授權的。
<b>通路量與優先級控制:</b>
從服務消費者的角度來看,一定會對服務調用頻度有要求,但作為服務提供方,需要考慮其伺服器叢集能支撐的業務通路量,我們csb需要一些保護措施保證不會被爆發的服務請求壓垮,首先會做限流,将一部分服務請求擋掉,而擋掉哪些放行哪些,又要考慮是否引入服務以及消費者的優先級處理。
<b>服務消費量需求變化:</b>
在網際網路場景裡,我們經常會看到應用使用者量和業務量有非線性增長的情況,這個增長通常也很難預期,從服務提供方的角度講,我們csb要有快速便捷進行線性擴容的能力。
<b>多節點接力級聯服務:</b>
有些企業本身内部的系統環境就比較多,再結合網際網路雲計算,系統間服務互通的情況就更複雜了。不同的資料中心、地域、雲上、雲下,多個企業之間等等,每一個節點可能屬于不同的業務域,屬于不同的企業、不同的環境,之前也提到過,又由于防火牆以及網絡規劃,節點之間又會有這樣那樣的通路限制。那麼csb要支援跨節點之間的服務互通,必須要解決路徑打通,以及路徑上不同歸屬的節點之間的授信問題。
企業業務能力api化

現在的企業正在面對迅速變化的經濟、市場以及技術環境,需要更靈活靈活地進行産品設計開發,以應對快速的業務變化和緊張的經費壓力。企業可以采用例如阿裡巴巴aliware這樣的企業網際網路架構技術,實作自身的服務化沉澱群組織,形成以厚實的中台共享業務,高效靈活支撐前台多變業務需求的結構。同時可以根據自身技術能力、資金以及時間各方面情況的考慮,選擇專業、高效、更有成本優勢的第三方服務,來快速、靈活、組合式地建構企業應用。
另一方面,越來越多的企業組織也需要以api方式把自己的核心業務資産整理開放給合作夥伴,或者讓第三方的應用整合。結合之前提到的系統間服務互通的典型問題,可以注意到,csb更強調從服務提供方的角度來看,面對更多變和廣泛的消費群,怎樣更高效、更靈活、更彈性地開放服務。從服務消費者的角度來講,會希望有這樣一個平台,能夠友善地搜尋和消費需要的服務,不需要冗長、繁瑣的商務過程,簡單訂閱調用就實作了服務能力的內建,這就是api的概念。
對服務提供方來說,如果想把api開放出來,需要持續對自身能力做分析和梳理,而且開放成api後,來自服務消費方的回報也是非常直接的,有利于幫助企業思考自身的業務能力,到底什麼東西最有價值,有助于發掘新的業務模式,提高服務水準。當把一個能力以api的形式開放出來後,由于消費的便捷和高效,更利于潛在客戶的發掘和合作空間的拓展。我們需要這樣一個産品,無論是跟已有系統的內建,還是把企業的能力開放出來給别人用,還是把企業内部各個系統之間以能力互通的方式去促進各個業務的創新和融合,都需要有一個能力的開放平台。
<b> </b>
雲服務總線csb
雲服務總線csb幫助企業建構自己的能力開放平台,實作内部、與合作夥伴以及第三方的系統之間跨協定的服務能力互通,對服務api的釋出、訂閱、消費提供一緻的組織管理。
<b>服務處理過程</b><b></b>
服務請求經過負載均衡,需要經過一個網絡的防護,例如設定一些ip上的黑白名單,也可以內建一些網絡安全的産品,來預防ddos等網絡攻擊。當csb确定是一個來自合法來源的請求後 ,需要進行協定适配,看服務調用者到底是誰,通路的是哪個服務。然後,csb進行鑒權,識别是否是合法身份的調用者,是否被授權通路目标服務,以及是否達到約定的服務通路限制等等。接下來,如果不是本地節點提供的服務。需要進行csb級聯處理,可能會轉接到另外的csb執行個體。如果服務确實是本地節點能夠提供,我們就要做進一步的服務請求的解析和校驗。然後進入結果緩存模式,因為拿到的請求不一定需要放到後端去,如果服務釋出者指定對該服務開啟csb緩存功能,一定時間内對該服務相同的請求,可以直接傳回緩存的結果。緊接着要進行服務編排,常見的是服務路由處理。接下來進行消息映射和封包轉換,最後通過協定适配到達服務提供方,獲得結果經過轉換傳回給調用方。這就是csb處理一個請求的大體過程。
如果鍊路很複雜,我們從鍊路的調用端到服務的提供端,任何一個環節都有可能出問題,這時候我們csb需要有一個監控的機制,并且要有一個鍊路級的分析方式,幫助快速地排查、分析、解決問題。
<b>綜合場景</b><b></b>
圖中連接配接不同環境的是一個典型的雙箭頭的雙魚型的标志,它其實就是所謂的csb執行個體。用csb執行個體間的連接配接為橋梁,實作它們各自“負責”的不同環境内部以及互相之間的服務互通。整個場景裡可以看到,csb可以放在企業自己的資料中心和阿裡雲等環境裡,打通各個系統,實作<b>企業内部互通,企業内外互通,雲上雲下互通,複雜級聯互通。</b>在任何一個節點上,我們開放出去的服務,也可以是我們自己的一些終端應用、裝置在消費。合作夥伴、内外系統、移動端和雲端應用, 用csb可以連接配接一切。
<b>雲服務總線(cloud service bus,簡稱csb)公測中,可通路官網檢視具體産品資訊:</b>
<a href="https://www.aliyun.com/product/csb">https://www.aliyun.com/product/csb</a>