Kafka 生產消費 Avro 序列化數據

kafka-logo

本文實踐瞭如何鏈接 Kafka 生產和消費 Avro 序列化格式的數據, 不能像 NgAgo-gDNA 那樣, 爲保證明驗內容及結果的可重複性, 文中所用的各中間件和組件版本以下:apache

  1. Apache Kafka: kafka_2.11-0.10.0.1, 這個版本在初始始化生產者消費者的屬性與以前版本有所不一樣.
  2. kafka-clients: Java API 客戶端, 版本爲  0.10.0.1
  3. Apache Avro: 1.8.1. 關於 Avro 序列化的內容可參見 Apache Avro 序列化與反序列化 (Java 實現)
  4. Java 8

Apache Kafka 消息系統設計爲能夠傳輸字符串, 二進制等數據, 但直接用於傳輸生產消費兩端都能理解的對象數據會更友好.  因此咱們這裏用 Avro 的 Schema  來定義要傳輸的數據格式, 通訊時採用自定義的序列化和反序列化類進行對象與字節數組間的轉換.數組

如下是整個實驗過程分佈式

本地啓動 Apache Kafka 服務

請參考 簡單搭建 Apache Kafka 分佈式消息系統 啓動 ZooKeeper 和 Kafka 便可. 程序運行會自動建立相應的主題. 啓動後 Kafka 開啓了本地的 9092 端口, 程序中只須要鏈接這個端口, 不用管 ZooKeeper 的  2181 端口.spa

 閱讀全文 >>設計

相關文章
相關標籤/搜索