使用Materialise解耦微服務架構

banq發表於2022-02-22

Materialize 是一個流式資料庫,它獲取來自不同來源(如 Kafka、PostgreSQL、S3 儲存桶等)的資料,並允許使用者編寫聚合/物化該資料的檢視,並允許您使用純 SQL 查詢這些檢視。

與傳統的物化檢視不同,Materialize 旨在將資料保持在連續狀態並保持檢視增量更新。這意味著如果您有一個不斷更新的檢視,您可以實時查詢資料。正常的物化檢視每次需要更新時都會進行全表掃描,這可能非常昂貴。

有關 Materialise 的更詳細說明,請參閱Materialise 文件

  

使用 Materialise 解耦微服務架構

感謝 Materialize,我們可以解耦微服務架構,並使用實時物化檢視來儲存聚合資料。Materialize 將保持物化檢視增量更新,並允許我們以亞秒級延遲實時查詢資料。

這將消除對事件驅動架構的需求,還將消除擴充套件目錄服務以將更改事件傳送到籃子服務的需要。

由於 Materialise 與 Postgres 有線相容,我們不需要使用任何第三方庫來使用 Materialize,並且沒有學習曲線。您需要記住的一件事是,就目前而言,Materialize 沒有永續性。這意味著如果您重新啟動服務,物化檢視將需要重新聚合資料。

 

 GitHub

相關文章