Cassandra和Kafka常常一塊兒用於微服務架構中。本文將介紹幾種Cassandra和Kafka常見的集成模式。
簡介
若是您的開發團隊樂於接納微服務架構的優勢,那麼您就會了解到,Kafka針對不變事件(Immutable Events)的持久性日誌,可以使微服務以獨立且異步的方式運行。
在某些狀況下,微服務須要訪問如Apache Cassandra™ 這樣的數據記錄系統。
Apache Kafka展示出的許多分佈式系統價值,與Cassandra相同——如可擴展性和高度可用性。
所以,Cassandra和Kafka是兩個互補性較強的技術。
做爲事件結構的Kafka
一個服務從Kafka流中消費事件,並對事件進行計算,要麼產生新的Kafka事件,要麼把數據寫入到Cassandra,要麼二者兼有。
此外,服務也能夠使用Cassandra的數據做爲事件處理的一部分。
做爲Kafka數據池的Cassandra
Cassandra常常與Kafka一塊兒用於長期存儲和服務應用API。DataStax Kafka鏈接器能夠將數據從Kafka topics自動獲取到Cassandra表中。
Kafka與CDC
反之亦然——在您的集羣中啓用CDC(數據捕獲更改),能夠讓您從Cassandra中流式傳輸出數據。藉助插件,使用Kafka Connect框架從Cassandra執行數據捕獲更改。目前,咱們正在研究如何簡化這一流程。