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ť.