1. 程式人生 > >資料親和架構--核心目標

資料親和架構--核心目標

      資料親和架構的核心目標,是為了解決微服務中的業務邏輯和資料繫結問題。使得業務邏輯在使用資料時,無需更多關注資料的傳輸和管理細節,確保資料在需要的時候,就能夠使用。即使在微服務在異地重啟或者多例項重啟,資料也能夠自動遷移和同步,無需被業務邏輯感知。如此一來,對於微服務來說,實現上與單例項沒有太大差別。

        在很多場合中,講解微服務的優勢,都要和單體架構比較。在實現業務單元時,微服務架構由於每個單元更加獨立,功能實現也更加純粹;而單體架構因為多個業務混合在一起,耦合性高,相互之間影響度高,需要考慮的因素更加複雜。

        單體架構的業務服務單元共處於一個程序中,可以簡單的共享同一份資料,資料管理的邏輯也得以共享。但在微服務架構中,業務邏輯分散在多個程序中,可能在不同伺服器,甚至跨機房。做為業務邏輯載體的程式,是檔案型別,是靜態資料,可以採用預部署或者多份冗餘方式,減少啟動時間。

        業務資料本身絕大部分場景下是動態的,甚至是高頻的,靜態資料的同步手段和延遲無法滿足業務需求。另外一種情況,業務資料長期積累,如資料庫,會生成大量靜態資料,動則幾個G級別的,甚至更大,這類資料也是無法輕易遷移的。

        資料問題對業務實現至關重要,但在微服務架構下不但沒有得到解決,反而讓這個問題更加嚴重。微服務架構通過額外的手段來解決。與此相反,資料親和架構將資料問題視為核心要解決的問題。

    資料親和架構從業務服務實現角度,重新審視和設計整個架構。