이벤트 드리븐이란
서비스 간 직접 호출 대신 이벤트를 발행하고 구독하는 방식으로 소통합니다. 느슨한 결합과 확장성을 제공합니다.
Kafka Producer/Consumer
// Producer
import { Kafka } from "kafkajs";
const kafka = new Kafka({ brokers: ["localhost:9092"] });
const producer = kafka.producer();
await producer.send({
topic: "orders",
messages: [{ key: orderId, value: JSON.stringify(order) }],
});
// Consumer
const consumer = kafka.consumer({ groupId: "order-service" });
await consumer.subscribe({ topic: "orders" });
await consumer.run({
eachMessage: async ({ message }) => {
const order = JSON.parse(message.value.toString());
},
});
댓글 0