[ Broker ] 使用 Node.js 串接 Apache Kafka

本文將說明如何使用 Node.js 串接 Apache Kafka Broker,並傳送模擬資料至特定的 Topic;如果對 Kafka 介紹、安裝或使用方式還不了解的朋友,可以參考之前寫的文章 【 Apache Kafka 簡介 】【 使用 Docker 在 AWS EC2 建立 Kafka 】 使用教學。


學習目標

  • 使用 Node.js 建立 Producer 與 Consumer 兩個角色,並透過 Kafka Broker 進行訊息通訊

前置準備作業

  1. 一台能上網的電腦且已完成 v10 版本以上的 Node.js 安裝

  2. 已建立完成 Apache Kafka


Kafka Client 端

Step 1. 下載 Producer 與 Consumer

❖ Producer 下載網址
  ㊟ 在此程式命名為 BasicProducer.js
  https://raw.githubusercontent.com/ArcherHuang/Kafka/master/Code/Node.js/BasicProducer.js

❖ Consumer 下載網址
  ㊟ 在此程式命名為 BasicConsumer.js

https://raw.githubusercontent.com/ArcherHuang/Kafka/master/Code/Node.js/BasicConsumer.js  


Step 2. 安裝 kafka 套件

❖ 於終端機 【 macOS、Ubuntu 】或 PowerShell 【 Windows 】中輸入下方指令

  npm install kafka-node

Step 3. 取得 Kafka IP

❖ ① 點選左側的 【 Instances 】 
  ② IP 位於【 IPv4 Public IP 】欄位中


Step 4. Hosts 檔設定

  • macOS、Ubuntu
❖ 於終端機 【 macOS 】中輸入下方指令
  ① sudo vim /etc/hosts

❖ 於終端機 【 macOS 】中輸入下方指令
  ② 按 【 i 】

❖ 於終端機 【 macOS 】中輸入下方指令
  ③ 在最後一行輸入 Kafka IP 資訊

❖ 於終端機 【 macOS 】中輸入下方指令
  ④ 按 【 esc 】鍵

❖ 於終端機 【 macOS 】中輸入下方指令
  ⑤ 輸入【 :wq! 】存檔離開

  • Windows
❖ ① 透過檔案總管切換路徑到 【 C:\Windows\System32\drivers\etc 】

❖ ② 透過記事本等文字編輯軟體開啟【 hosts 】檔案

❖ ③ 在最後一行輸入 Kafka IP 資訊

❖ ④ 將新的 hosts 檔案另存新檔於別的目錄中,在用滑鼠拖進系統的 【 C:\Windows\System32\drivers\etc 】 目錄中
     ㊟ 設定檔是屬於系統的檔案,一般的使用者沒有權限修改

Step 5. 修改 zookeeper IP

❖ 修改【 BasicProducer.js 】第 18 行的 IP 位置

❖ 修改【 BasicConsumer.js 】第 7 行的 IP 位置


Step 6. 啟動程式

❖ 啟動【 BasicProducer.js 】
  ㊟ 以下範例使用 Windows PowerShell 做說明

❖ 啟動【 BasicConsumer.js 】
  ㊟ 以下範例使用 Windows PowerShell 做說明


Reference
GitHub
List of blogs
ALL RIGHTS RESERVED. COPYRIGHT © 2018. Designed and Coded by Makee.io