項目裏使用了kafka和spark做消息的流式處理,可是我對kafka一竅不通。每次測試找我kafka都是傻坐着,主管讓我花時間學習kafka。java
在大數據時代,分析,處理和挖掘海量數據成爲了目前技術領域的熱點和難點。kafka是一款開源,輕量,分佈式,可分區,可備份的消息系統。kafka可以很好地處理活躍的流數據,使得數據在各個子系統中高性能、低延時地不停流轉。node
kafka存儲數據使用的是文件系統。只要文件系統足夠大,數據就能夠一直追加。kafka也提供了數據最大保存時間,用戶能夠設置。由於是寫到硬盤上,因此節點故障,重啓後數據可恢復python
由於依賴zk註冊,只要註冊服務。就能夠在多態廉價服務器上搭建集羣c++
支持java,scala,c,c++,python,go,erlang,ruby,node.js等,還好我都認識。apache
kafka 0.10後引入了kafka stream,一個專一於流處理的jar包。安全
生產者,消費者鏈接代理要認證,zk鏈接代理要認證,通訊數據加密,客戶端讀寫也要認證。ruby
kafka能夠爲每一個主題指定副本數,進行持久化備份服務器
kafka的代理是不會記錄消息是否被消費,消費偏移量的管理交由消費者本身或組協調器來維護。app
kafka支持gzip,snappy,lz4三種壓縮方式,把多條消息壓縮成messageset,再放到一個消息中。框架
https://rocketmq.apache.org/d...