Integrace Kafka Streams s Node.js

Integrace Kafka Streams s Node.js aplikací je účinný způsob, jak zpracovávat a analyzovat data přímo z Apache Kafka v Node.js prostředí. Kafka Streams umožňuje vytvářet zpracování dat v reálném čase a hladce je integrovat do vaší Node.js aplikace. Zde je konkrétní návod, jak toho dosáhnout:

Krok 1: Nainstalujte Kafka Streams a KafkaJS

Nejprve je třeba nainstalovat Kafka Streams a KafkaJS integrovat Kafka do vaší Node.js aplikace. K instalaci těchto balíčků můžete použít npm:

npm install kafka-streams kafkajs

Krok 2: Vytvořte a Kafka Stream

Vytvořte Kafka Stream ve své Node.js aplikaci pomocí Kafka Streams API. Zde je základní příklad vytvoření Kafka Stream pro zpracování dat z jednoho topic a výstup výsledku do jiného topic:

const { KafkaStreams } = require('kafka-streams');  
const { Kafka } = require('kafkajs');  
  
const kafka = new Kafka({  
  clientId: 'your-client-id',  
  brokers: ['broker1:port1', 'broker2:port2'],  
});  
  
const kafkaStreams = new KafkaStreams({  
  kafka,  
  logLevel: 2, // Level 2 for debug logs  
});  
  
const streamConfig = {  
  'group.id': 'your-group-id',  
  'metadata.broker.list': 'broker1:port1,broker2:port2',  
  'enable.auto.commit': false,  
  'socket.keepalive.enable': true,  
};  
  
const stream = kafkaStreams.getKStream(streamConfig);  
  
stream  
  .from('input-topic')  
  .filter(record => record.value && record.value.length > 0)  
  .map(record =>({  
    key: record.key,  
    value: record.value.toUpperCase(),  
  }))  
  .to('output-topic');  
  
kafkaStreams.start();  

Krok 3: Zpracujte data

Ve výše uvedeném příkladu jsme vytvořili a Kafka Stream pro naslouchání dat z input-topic, pak jsme data zpracovali převedením všech na velká písmena a vložením výsledku do output-topic.

Krok 4: Spusťte aplikaci

Nakonec musíte spustit Node.js aplikaci, abyste mohli začít zpracovávat data z Kafka Streams.

Všimněte si, že ve výše uvedeném příkladu je třeba nahradit hodnoty jako your-client-id, a  konkrétními podrobnostmi vašeho projektu. broker1:port1, your-group-id input-topic output-topic

 

Integrace Kafka Streams s Node.js aplikací vám umožňuje flexibilně a výkonně budovat možnosti zpracování dat v reálném čase.