Боевой Kafka/Redpanda клиент с ручными коммитами, низкой латентностью и 100% защитой от потери сообщений
npm install @frozenshift/kafka-clientidempotence: true)
bash
npm install @frozenshift/kafka-client
`
Как этим пользоваться
`js
import { KafkaClient } from "@frozenshift/kafka-client";
const logger = console; // или передать экземпляр Pino
const config = {
kafka: {
brokers: "127.0.0.1:9092",
groupId: "test",
clientId: "test-client"
}
};
const kafka = new KafkaClient(logger, config);
await kafka.connect();
// шлём сообщение
await kafka.publish("my-topic", [
{ key: "123", value: JSON.stringify({ hello: "world" }) }
]);
// ловим сообщения
await kafka.subscribeAndRun("my-topic", async (payload) => {
console.log("Пришло:", payload);
});
``