Cassandra和Kafka經常一起用於微服務架構中。本文將介紹幾種Cassandra和Kafka常見的整合模式。
簡介
如果您的開發團隊樂於接納微服務架構的優點,那麼您就會了解到,Kafka針對不變事件(Immutable Events)的永續性日誌,能夠使微服務以獨立且非同步的方式執行。
在某些情況下,微服務需要訪問如Apache Cassandra™ 這樣的資料記錄系統。
Apache Kafka展現出的許多分散式系統價值,與Cassandra相同——如可擴充套件性和高度可用性。
因此,Cassandra和Kafka是兩個互補性較強的技術。
作為事件結構的Kafka
把Kafka看作是微服務之間的事件結構。
一個服務從Kafka流中消費事件,並對事件進行計算,要麼產生新的Kafka事件,要麼把資料寫入到Cassandra,要麼兩者兼有。
此外,服務也可以使用Cassandra的資料作為事件處理的一部分。
作為Kafka資料池的Cassandra
Cassandra經常與Kafka一起用於長期儲存和服務應用API。DataStax Kafka聯結器可以將資料從Kafka topics自動獲取到Cassandra表中。
Kafka與CDC
反之亦然——在您的叢集中啟用CDC(資料捕獲更改),可以讓您從Cassandra中流式傳輸出資料。藉助外掛,使用Kafka Connect框架從Cassandra執行資料捕獲更改。目前,我們正在研究如何簡化這一流程。