
kafka是個日誌處理緩衝元件,在大資料資訊處理中使用。和傳統的訊息佇列相比較簡化了佇列結構和功能,以流形式處理儲存(持久化)訊息(主要是日誌)。日誌資料量巨大,處理元件一般會處理不過來,所以作為緩衝曾的kafka,支援巨大吞吐量。為了防止資訊都是,其訊息被消防後不直接丟棄,要多儲存一段時間,等過期時間過了才丟棄。這是mq和redis不能具備的。主要特點入下:巨型儲存量: 支援TB甚至PB級別資料。高吞吐,高IO:一般配置的伺服器能實現單機每秒100K條以上訊息的傳輸。訊息分割槽,分散式消費:能保訊息順序傳輸。 支援離線資料處理和實時資料處理。Scale out:支援線上水平擴充套件,以支援更大資料處理量。redis

redis只是提供一個高效能的、原子操作記憶體鍵值隊,具有高速訪問能力,可用做訊息佇列的儲存,但是不具備訊息佇列的任何功能和邏輯,要作做為訊息佇列來實現的話,功能和邏輯要通過上層應用自己實現。
MQ,訊息佇列。

我們以是RabbitMQ為例介紹。它是用Erlang語言開發的開源的訊息佇列,支援多種協議,包括AMQP,XMPP, SMTP, STOMP。適合於企業級的開發。MQ支援Broker構架,訊息傳送給客戶端時需要在中心佇列排隊。對路由,負載均衡或者資料持久化都有很好的支援。其他更多訊息佇列

還有ActiveMq,ZeroMq等。功能基本上大同小異。專門測結果,併發吞吐TPS比較,ZeroMq 最好,RabbitMq 次之, ActiveMq 最差。
感興趣可以加Java架構師群獲取Java工程化、高效能及分散式、高效能、深入淺出。高架構。效能調優、Spring,MyBatis,Netty原始碼分析和大資料等多個知識點高階進階乾貨的直播免費學習許可權 都是大牛帶飛 讓你少走很多的彎路的 群..號是:855801563 對了 小白勿進 最好是有開發經驗
注:加群要求
1、具有工作經驗的,面對目前流行的技術不知從何下手,需要突破技術瓶頸的可以加。
2、在公司待久了,過得很安逸,但跳槽時面試碰壁。需要在短時間內進修、跳槽拿高薪的可以加。
3、如果沒有工作經驗,但基礎非常紮實,對java工作機制,常用設計思想,常用java開發框架掌握熟練的,可以加。
4、覺得自己很牛B,一般需求都能搞定。但是所學的知識點沒有系統化,很難在技術領域繼續突破的可以加。
5.阿里Java高階大牛直播講解知識點,分享知識,多年工作經驗的梳理和總結,帶著大家全面、科學地建立自己的技術體系和技術認知!