一个全栈式的应用集成平台,打破“信息孤岛”
源寶導讀:隨著企業數字化進程的逐漸深入,企業存在大量的異構系統,各個系統之間信息傳輸、資源利用困難。本文將介紹明源云ERP為了打破這種“信息孤島”,而進行的思考與實踐。
一、前言
? ? 隨著企業信息化進程的逐步深入,互聯網技術的發展和分布式系統應用的日益廣泛,直接導致大量異構系統的存在,這些系統往往各自獨立、封閉運行,相互之間不存在或很少存在數據的交互,由于這種應用分割,多個系統之間往往存在數據的冗余以及功能的重疊,各個系統之間信息傳輸、資源利用困難,形成所謂的“信息孤島”。
二、企業應用集成挑戰
? ? 要打破“信息孤島”,企業就必須突破企業應用集成幾個基本挑戰:
可靠性。集成解決方案必須通過網絡把數據從一個終端傳送到另一個終端上。與運行在同一個終端上的進程相比,分布式計算必須應對更多可能出現的問題。很多情況下,若需要集成的兩個系統位于不同的環境下,它們之間的數據必須通過網線、局域網、路由器、交換機、公共網絡進行傳輸。其中每個環節都會帶來延遲或中斷。
高性能。通過網絡發送數據要比執行一個本地方法調用慢多個數量級。如果使用設計單一應用的方法設計一個分布式解決方案,可能會對性能造成災難性的影響
異構適配能力。集成解決方案需要在使用不同的編程語言、不同平臺和不同數據格式、不同通信協議的系統間傳遞信息。因此,集成方案要能與這些不同的技術打交道。
低耦合。系統會隨著時間改變,一個集成解決方案必須跟上與之相關連接的系統變化的步伐,系統間使用松耦合方式連接,盡可能減少系統之間的依賴關系。
三、行業常用解決方法
? ? ?應用系統集成的解決方案有很多,但最常見有API調用、數據庫同步、文件傳輸、消息(事件)傳遞:
API調用:一個系統開放其部分API,使得其他系統能夠遠程訪問這些API。它們之間的通信是實時、同步的。
數據庫同步:多個系統在數據庫層面建立數據同步調度作業,實現數據拷貝與復制。
文件傳輸:一個系統寫文件,之后另一個系統讀這個文件。為此,系統之間需要協商文件名、文件位置、文件格式、文件讀寫的時間以及誰負責刪除這個文件。
消息(事件)傳遞:一個系統向公共消息通道中發送一個消息(事件),其他可以在之后某個時間從通道獲得這個消息(事件)。系統之間必須協商建立通道以及消息(事件)的格式,這種通信是異步的。
? ? 盡管上述四種方案從本質上解決的是相同的問題,但是每種方案均有其獨特的優點和不足(不追述,可參考企業應用集成模式)。實際上,企業應用集成往往需要針對不同的系統、供應商、集成場景選擇采用不同的集成方案,使得每個集成點都能充分利用最合適方案。
四、明源云應用集成平臺(簡稱:MIP)
? ? 明源云應用集成平臺(簡稱:MIP)是一個全棧式的應用集成平臺,提供輕量化的API、事件、消息、數據集成能力,幫助您快速、簡單的構建高可靠、高性能、低延遲的應用集成解決方案,實現企業內云上云下,不同廠商、不同架構、不同協議的應用互聯互通,打破“信息孤島”,支撐企業數字化轉型。
MIP總體架構示意圖
? ? MIP主要由連接中心、接口中心、事件中心、監控中心、管理控制臺五大組件構成,通過五大組件服務組合,可以幫助企業高效構建可知、可控的企業應用集成解決方案。
五、連接中心
? ? 連接中心由服務注冊中心和連接器管理兩部分組成,其中服務注冊中心為您提供服務注冊與發現、健康檢查等服務治理能力。連接器管理則為您提供服務元數據管理、服務質量管理、服務適配能力,以便滿足企業應用集成中不同廠商、不同應用、不同協議的集成適配。
? ? 連接中心提供如下關鍵特性:
服務注冊與發現:服務提供者可以通過手工注冊、API注冊、客戶端注冊三種方式將服務信息注冊到服務注冊中心。同時服務消費者可以通過服務注冊中心提供的服務發現API獲取可用的服務提供。
健康檢查:服務注冊中心根據連接器配置中設置的健康檢查地址和頻率對服務進行定期對健康檢查,以便保證及時發現應用層問題,及時摘除異常節點,保證服務正常運行。
服務元數據管理:對服務本身的配置信息和服務的API、事件等信息進行維護管理,最終提供給接口中心、事件中心的應用集成場景中使用。
服務質量管理:連接器在調用后端服務時,根據連接器配置中設置的超時、重試、熔斷的服務質量控制規則對后端服務進行安全調用的保護。
服務適配:內置了常見的http、webservice、sql service、my sql、rabitt mq等通用基礎連接器,開箱即用,滿足80%的應用集成場景適配,同時連接中心還提煉了一套連接器插件框架模型,支持在基礎連接器基礎上進行插件化擴展,開發面向不同廠商的應用級連接器,例如:泛微、用友、金蝶等。
六、接口中心
? ? 接口中心可以為您提供高性能、高可用、高安全的API托管服務,幫助您輕松構建、管理和部署API。借助接口中心,可以簡單、快速、低成本、低風險地實現應用系統集成、業務能力開放。
? ? 如果您作為API提供者(開發者),您可以將成熟的業務能力(如服務、數據等)作為后端服務,在接口中心中開放API,并通過線下方式提供給API調用者使用,實現業務能力開放。
? ? 如果您作為API調用者(消費者),您可以獲取并調用API提供者在API網關開放的API,減少開發時間與成本。
? ? 如果您作為API管理運維人員,您可以通過授權、流控、監控告警等策略保障企業的API。
接口中心架構示意圖
接口中心提供如下關鍵特性:
API生命周期管理:括API的創建、發布、下線和刪除的完整生命周期管理功能。通過API生命周期管理功能,您可以快速、高效的開放成熟的業務能力。
版本管理:API可以發布到網關運行環境,如果您需要再次發布此API到之前已發布的環境,那么此次的發布版本將立即覆蓋之前的版本。API網關支持查看API發布歷史(如版本、發布說明、發布時間和發布環境),并支持回滾到任一API歷史版本,以便滿足業務版本升級、回滾等需求。
便捷調試工具:提供頁面調試工具,您可以使用該工具添加HTTP頭部參數與body體參數,對API進行調試,簡化API開發,降低API的開發維護成本。
流量控:可實施API的請求頻率、應用的請求頻率的管控,用于保障后端服務的穩定運行,流量控制的時間單位可以是秒、分鐘、小時或天。
請求校驗:支持參數類型、參數值(范圍、枚舉、正則、Json Schema)校驗,無效校驗會被 API 網關直接拒絕,以減少無效請求對后端造成的資源浪費,大幅降低后端服務的處理成本。
數據轉換:通過配置映射規則,實現前、后端數據翻譯。支持前端請求的數據轉換。支持返回結果的數據轉換。
訪問控制:訪問控制策略是API網關提供的API安全防護組件之一,主要用來控制訪問API的IP地址,您可以通過設置IP地址的黑名單來拒絕某個IP地址訪問API。
API鑒權:統一發放簽名密鑰(由一對Key和Secret組成),簽名密鑰需要綁定到API才能生效。簽名密鑰用于后端服務驗證API網關的身份,在API網關請求后端服務時,保障后端服務的安全。
七、事件中心
? ? 事件中心為您提供低耦合、準實時、高可靠的數據或消息傳輸服務。
低耦合:架構采用事件訂閱與分發模式,解耦開生產者和消費,訂閱過程無需代碼侵入,通過統一配置方式實現,實現數據采集與分發。
準實時:通過應用領域事件監聽、數據庫CDC機制、隊列監聽,做到準實時的數據同步,數據從源端產生后,以極低的延遲被采集、加工,并寫入目的地,整個過程沒有明顯的處理批次邊界。
高可靠:平臺底層采用Rabitt MQ作為數據傳遞通道,保障數據傳遞的可靠性;三級重試,臨時性重試、定時重試、手工重試,提升數據傳遞的可靠性。
事件中心架構示意圖
? ? 事件中心提供如下關鍵特性:
事件管理:可以通過創建事件源和事件訂閱者,來實現事件的訂閱與發布,最終實現數據或消息在應用之間進行傳遞。同時也可以在事件創建后進行管理維護操作,例如:刪除事件、修改事件、發布事件、取消發布事件、增加訂閱者、刪除訂閱者、修改訂閱者等。
調度管理:可以查詢到各個事件對應的任務調度的運行狀態,為排查生產問題提供有效數據支持.
異常管理:事件消費時產生業務異常,事件中心會將對應的異常事件發送到異常管理模塊,異常管理模塊可以通過自定義的自動重試規則做定期重試,當自動重試仍然無效的情況下,也可以人工重試對異常數據做干預,提高異常數據的修復效率。
軌跡管理:支持追蹤事件生產與消費的完整鏈路信息,獲取任一事件的當前狀態,為排查生產問題提供有效數據支持。
八、監控中心
? ? 監控中心通過客戶端幫助您跟蹤采集連接中心、接口中心、事件中心、MIP客戶端各個組件的運行狀態、日志、異常、性能等信息(遵循OpenTracing標準),客戶端采集到運行信息后發送到監控中心服務端,由服務端對信息做加工與分析,加工后的信息能為您提供集成調用鏈查詢和診斷、性能分析、服務依賴分析、異常告警等服務,這些服務為您進行生產問題排查提供有效數據支持。
監控中心架構示意圖
調用鏈查詢和診斷:追蹤分布式架構中的所有服務應用的用戶請求,并將它們匯總成分布式調用鏈。
性能分析:通過追蹤整個應用程序的用戶請求,來實時匯總組成應用程序的單個服務和資源性能指標,幫助您診斷性能瓶頸。
服務依賴分析:形成所有分布式服務應用的調用依賴關系。
告警管理:支持自定義告警規則,并且在告警達到條件后通過郵件、移動端等設備發送告警內容給運維人員。
總結
? ? 本次主要分享的是明源集成平臺(MIP)的定位、核心架構、功能特征以及實現效果,后續還會總結分享平臺里面落地實現的關鍵技術點。
------ END ------
作者簡介
王同學:?產品經理,目前負責ERP集成平臺相關規劃與設計工作。
也許您還想看
MIP服務發現的高可用架構實踐
基于消息的高穩定集成架構方案
研發協同平臺持續集成2.0架構演進
【2019總結篇】談談數字化時代,ERP如何坐穩數字化底座
總結
以上是生活随笔為你收集整理的一个全栈式的应用集成平台,打破“信息孤岛”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿捷外传之Git代码统计:DotNetC
- 下一篇: 【朝夕技术专刊】Core3.1WebAp