1. 程式人生 > >大數據入門第十七天——storm上遊數據源 之kafka詳解(一)入門

大數據入門第十七天——storm上遊數據源 之kafka詳解(一)入門

不同 這也 接受 blog 存儲 發送 records ant post

一、概述

  1.kafka是什麽

    根據標題可以有個概念:kafka是storm的上遊數據源之一,也是一對經典的組合,就像郭德綱和於謙

    根據官網:http://kafka.apache.org/intro 的解釋呢,是這樣的:

  Apache Kafka® is a distributed streaming platform

  ApacheKafka®是一個分布式流媒體平臺

  l Apache Kafka是一個開源消息系統,由Scala寫成。是由Apache軟件基金會開發的一個開源消息系統項目。

  l Kafka最初是由LinkedIn開發,並於2011年初開源。2012年10月從Apache Incubator畢業。該項目的目標是為處理實時數據提供一個統一、高通量、低等待的平臺。

  l Kafka是一個分布式消息隊列:生產者、消費者的功能。它提供了類似於JMS的特性,但是在設計實現上完全不同,此外它並不是JMS規範的實現

  l Kafka對消息保存時根據Topic進行歸類,發送消息者稱為Producer,消息接受者稱為Consumer,此外kafka集群有多個kafka實例組成,每個實例(server)成為broker。

  l 無論是kafka集群,還是producer和consumer都依賴於zookeeper集群保存一些meta信息,來保證系統可用

 2.主要feature

   1:It lets you publish and subscribe to streams of records.發布和訂閱消息流,這個功能類似於消息隊列,這也是kafka歸類為消息隊列框架的原因

  2:It lets you store streams of records in a fault-tolerant way.以容錯的方式記錄消息流,kafka以文件的方式來存儲消息流

  3:It lets you process streams of records as they occur.可以再消息發布的時候進行處理

  3.使用場景

    在流式計算中,Kafka一般用來緩存數據,Storm通過消費Kafka的數據進行計算。

    經典組合是:kafka+storm+redis

大數據入門第十七天——storm上遊數據源 之kafka詳解(一)入門