Cassandra與Kafka的整合

DataStax發表於2020-12-30
Cassandra和Kafka經常一起用於微服務架構中。本文將介紹幾種Cassandra和Kafka常見的整合模式。

 
簡介
Cassandra與Kafka的整合
 
如果您的開發團隊樂於接納微服務架構的優點,那麼您就會了解到,Kafka針對不變事件(Immutable Events)的永續性日誌,能夠使微服務以獨立且非同步的方式執行。
 
在某些情況下,微服務需要訪問如Apache Cassandra™ 這樣的資料記錄系統。
 
Apache Kafka展現出的許多分散式系統價值,與Cassandra相同——如可擴充套件性和高度可用性。
 
因此,Cassandra和Kafka是兩個互補性較強的技術。

 
作為事件結構的Kafka
Cassandra與Kafka的整合
 
把Kafka看作是微服務之間的事件結構。
 
一個服務從Kafka流中消費事件,並對事件進行計算,要麼產生新的Kafka事件,要麼把資料寫入到Cassandra,要麼兩者兼有。
 
此外,服務也可以使用Cassandra的資料作為事件處理的一部分。

 
作為Kafka資料池的Cassandra
 
Cassandra與Kafka的整合
Cassandra經常與Kafka一起用於長期儲存和服務應用API。DataStax Kafka聯結器可以將資料從Kafka topics自動獲取到Cassandra表中。

 
Kafka與CDC
 
Cassandra與Kafka的整合
 
反之亦然——在您的叢集中啟用CDC(資料捕獲更改),可以讓您從Cassandra中流式傳輸出資料。藉助外掛,使用Kafka Connect框架從Cassandra執行資料捕獲更改。目前,我們正在研究如何簡化這一流程。

相關文章