1. 程式人生 > >微服務架構數據治理

微服務架構數據治理

技術方案 不同的 過程 開發 返回 來講 獨立 明顯 管理

隨著微服務架構的落地,人們發現微服務架構雖然改進了開發模式,但同時也引入了一些問題,在這所有的問題中,最重要的也是馬上要面臨的一個問題就是數據的問題。在微服務架構中我們強調徹底的組件化和服務化,每個微服務都可以獨立的部署和投產,其實也就意味著很多的微服務有自己獨立的數據庫。

整個業務數據被分散在各個子服務之後會帶來兩個最明顯的問題:1、業務管理系統對數據完整的查詢,比如分頁查詢、多條件查詢等,數據被割裂後如何來整合?2、如何對數據進一步的分析挖掘?這些需求可能需要分析全量的數據,並且在分析時不能影響到當前業務。

從技術方案來講,我們一般有兩種選擇來處理這些問題,第一種是在線處理數據,第二種是離線處理數據。

在線處理數據的方案就是按照微服務的標準接口來進行,後端需要哪個系統的數據就去調用某個微服務提供的接口來獲取。後端管理平臺根據前端的需求去不同的微服務系統去獲取數據,然後將返回的數據進行處理後將數據返回。這種方案有兩個弊端:1)一方面微服務數據方需要提供數據接口,一方面數據的使用者需要去寫調用方法,並且調用者需要編寫大量的代碼進行數據處理;2)在對各個微服務進行調取數據時會影響微服務的正常業務處理性能。

離線處理數據方案,就是將業務數據準實時的同步到另外一個數據庫中,在同步的過程中進行數據整合處理,以滿足業務方對數據的需求,數據同步過來後,再提供另外一個服務接口專業負責對外輸出數據信息。這種方案有兩個特點:1)數據同步方案是關鍵,技術選型有很多,如何選擇切合公司業務的技術方案;2)離線數據處理對微服務正常業務處理沒有影響。

在條件允許數據實時性要求不高的情況下多用方案二,方案一是最容易想到的常規方法。

很多事情就像生孩子,聽別人說的痛和不易跟自己親身經歷過的感覺完全不同,後者讓你印象更深,成長更大。

微服務架構數據治理