全部產品
Search
文件中心

ApsaraMQ for Kafka:應用情境

更新時間:Jul 06, 2024

本文介紹雲訊息佇列 Kafka 版的典型應用情境,包括網站活動跟蹤、日誌彙總、資料處理、資料中轉樞紐。

網站活動跟蹤

成功的網站營運需要對網站的使用者行為進行分析。通過雲訊息佇列 Kafka 版的發布/訂閱模型,您可以即時收集網站活動資料(例如註冊、登入、儲值、支付、購買),根據業務資料類型將訊息發布到不同的Topic,然後利用訂閱訊息的即時投遞,將訊息流程用於即時處理、即時監控或者載入到Hadoop、MaxCompute等離線資料倉儲系統進行離線處理。

web tracking

雲訊息佇列 Kafka 版用於網站活動跟蹤具備以下優勢:

  • 高吞吐:網站使用者產生的行為資訊較為龐大,需要較高的輸送量來支援。

  • 彈性擴容:網站活動導致行為資料激增,雲平台可以快速按需擴容。

  • 巨量資料分析:可對接Storm、Spark等即時資料處理引擎,亦可對接Hadoop等離線資料倉儲系統。

日誌彙總

許多公司,例如淘寶、天貓等,每天都會產生大量的日誌(一般為流式資料,例如搜尋引擎PV、查詢等)。相較於以日誌為中心的系統,例如Scribe和Flume,雲訊息佇列 Kafka 版在具備高效能的同時,可以實現更強的資料持久化以及更短的端到端回應時間。雲訊息佇列 Kafka 版的這種特性決定它適合作為日誌收集中心。雲訊息佇列 Kafka 版忽略掉檔案的細節,可以將多台主機或應用的日誌資料抽象成一個個日誌或事件的訊息流程,非同步發送到雲訊息佇列 Kafka 版叢集,從而實現非常低的RT。雲訊息佇列 Kafka 版用戶端可批量提交訊息和壓縮訊息,對生產者而言幾乎感覺不到效能的開支。消費者可以使用Hadoop、MaxCompute等離線倉庫儲存和Strom、Spark等即時線上分析系統對日誌進行統計分析。

日誌彙總

雲訊息佇列 Kafka 版用於資料彙總具備以下優勢:

  • 應用與分析解耦:構建應用系統和分析系統的橋樑,並將它們之間的關聯解耦。

  • 高可擴充性:具有高可擴充性,即當資料量增加時可通過增加節點快速水平擴充。

  • 線上或離線分析系統:支援即時線上分析系統和類似於Hadoop的離線分析系統。

資料處理

在很多領域,如股市走向分析、氣象資料測控、網站使用者行為分析,由於資料產生快、即時性強且量大,您很難統一採集這些資料並將其入庫儲存後再做處理,這便導致傳統的資料處理架構不能滿足需求。與傳統架構不同,雲訊息佇列 Kafka 版以及Storm、Samza、Spark等資料處理引擎的出現,就是為了更好地解決這類資料在處理過程中遇到的問題,資料處理模型能實現在資料流動的過程中對資料進行即時地捕捉和處理,並根據業務需求進行計算分析,最終把結果儲存或者分發給需要的組件。

Realtime Compute處理

雲訊息佇列 Kafka 版用於資料處理具備以下優勢:

  • 流動的資料:在資料流動的過程中對資料進行即時地捕捉和處理,並根據業務需求進行計算分析。

  • 高可擴充性:由於資料產生的速度快且資料量大,需要高可擴充性。

  • 資料處理引擎:可對接開源Storm、Samza、Spark以及EMR、Blink、StreamCompute等阿里雲產品。

資料中轉樞紐

近10多年來,諸如KV儲存(HBase)、搜尋(Elasticsearch)、串流(Storm、Spark、Samza)、時序資料庫(OpenTSDB)等專用系統應運而生。這些系統是為單一的目標而產生的,因其簡單性使得在商業硬體上構建分布式系統變得更加容易且性價比更高。通常,同一份資料集需要被注入到多個專用系統內。例如,當應用日誌用於離線日誌分析時,搜尋單個日誌記錄同樣不可或缺,而構建各自獨立的工作流程來採集每種類型的資料再匯入到各自的專用系統顯然不切實際,利用雲訊息佇列 Kafka 版作為資料中轉樞紐,同份資料可以被匯入到不同專用系統中。

資料中轉樞紐

雲訊息佇列 Kafka 版作為資料中轉樞紐具備以下優勢:

  • 高容量儲存:能在商業硬體上儲存高容量的資料,實現可橫向擴充的分布式系統。

  • 一對多消費模型:發布/訂閱模型,支援同份資料集能同時被消費多次。

  • 同時支援即時和批處理:支援本機資料持久化和Page Cache,在無效能損耗的情況下能同時傳送訊息到即時和批處理的消費者。