- 因為工作的關係,需要時常在高併發的情況下處理資料,而且得確保資料的完整性,除了基本的技巧之外,其實也可以善用工具來協助達成需求,發布訂閱行為在此情境相當適合;為什麼要拿Kafka來說呢,其實也就是因為工作上有在使用。
- Kafka的幾個特性讓他相當是用於高併發架構
- 發布/訂閱紀錄
- 容錯/耐用持久化紀錄
- 在行為發生時處裡紀錄
- 目前提供四個API供使用
- Producer
- 將紀錄發佈到Kafka上的Topic
- Consumer
- 收取訂閱Topic的資料
- Stream
- 讓APP作為中繼處裡,在收取訂閱資料後轉而變換其他的紀錄發佈
- Connector
- 允許與資料庫直接溝通並在收取資料時異動資料庫
- Producer
- 常使用到的幾個名詞
- Broker
- Kafka叢集中的硬體設備,目的為分散壓力
- Topic
- 可以視作紀錄的類別
- Partition
- 每個Topic切分的實際空間,數量要比Consumer多
- Producer
- 紀錄的生產者
- Consumer
- 紀錄的消費者
- 紀錄的消費者
- Broker
- 這裡提供Kafka實作範例