Sobes.tech
Junior — Middle

Môžete sa podeliť o svoje skúsenosti s Apache Kafka v projektoch?

sobes.tech AI

Odpoveď od AI

V projektoch s Node.js som použil Apache Kafka na organizáciu spoľahlivého a škálovateľného prenosu správ medzi mikroservismi. Hlavné scenáre zahŕňali:

  • Asynchrónne spracovanie udalostí, napríklad logovanie alebo spracovanie objednávok.
  • Integráciu s externými systémami prostredníctvom producentov a konzumentov.
  • Zabezpečenie odolnosti voči chybám uložením správ do tém.

Pre prácu s Kafka v Node.js používam zvyčajne knižnice ako kafkajs alebo node-rdkafka. Príklad jednoduchého producenta s kafkajs:

const { Kafka } = require('kafkajs')

const kafka = new Kafka({ clientId: 'my-app', brokers: ['kafka1:9092'] })
const producer = kafka.producer()

async function sendMessage() {
  await producer.connect()
  await producer.send({
    topic: 'test-topic',
    messages: [ { value: 'Hello Kafka' } ],
  })
  await producer.disconnect()
}

sendMessage().catch(console.error)

Skúsenosti ukázali, že je dôležité správne nakonfigurovať spracovanie chýb a správu relácií, aby sa predišlo strate správ a zabezpečila vysoká dostupnosť.