1. 程式人生 > >Kafka介紹之二

Kafka介紹之二

概念: 主題 topic
生產業務:
oms訂單系統–mysql–>flume–>kafka( omstopic ) -->ss1

wms倉庫系統–mysql–>flume–>kafka( wmstopic ) -->ss2

kafka建立主題 一般根據業務系統資料處理來劃分
最終落在磁碟上就是建立資料夾(liunx系統資料夾)

topic相當於資料夾
mkdir omstopic
mkdir wmstopic
日誌儲存在log liunx系統檔案

在這裡插入圖片描述
一個主題有三個分割槽(一個topic是有多個分割槽,分割槽可以自己定義
1億行 omstopic_0 100W/s log append追加 自身的分割槽有序的
omstopic_1 200W/s log append追加 自身的分割槽有序的
omstopic_2 300W/s log append追加 自身的分割槽有序的
2.每個分割槽資料是有序的排列


3.隨著時間的推移,資料是追加的

.Kafka應用場景

1.日誌收集:一個公司可以用Kafka可以收集各種服務的log,通過kafka以統一介面服務的方式開放給各種consumer
2.訊息系統:解耦生產者和消費者、快取訊息等
3.使用者活動跟蹤:kafka經常被用來記錄web使用者或者app使用者的各種活動,如瀏覽網頁、搜尋、點選等活動,這些活動資訊被各個伺服器釋出到kafka的topic中,然後消費者通過訂閱這些topic來做實時的監控分析,亦可儲存到資料庫
4.運營指標:kafka也經常用來記錄運營監控資料。包括收集各種分散式應用的資料,生產各種操作的集中反饋,比如報警和報告
5.流式處理:比如spark streaming和storm;

Kafka的優勢

高吞吐量、低延遲:kafka每秒可以處理幾十萬條訊息,它的延遲最低只有幾毫秒
可擴充套件性:kafka叢集支援熱擴充套件
永續性、可靠性:訊息被持久化到本地磁碟,並且支援資料備份防止資料丟失
容錯性:允許叢集中節點故障(若副本數量為n,則允許n-1個節點故障)
高併發:支援數千個客戶端同時讀寫