Я пытаюсь создать два события для одной и той же темы кафки в пакете, только второе событие заканчивается на кафке, а первое не отправляется.
// sudo code of what i'm doing
// producer
await kafka.produce(
event1 { message: "vito", topic: "corleone" },
event2 { message: "sonny", topic: "corleone" }
event3 { message: "fredo", topic: "corleone" }
)
// consumer listening to topic "corleone"
kafka.handler(payload) {
log(payload) // prints "fredo" but doesn't print "vito" or "sonnie"
}
Что работает, хотя, если у меня естьэти события относятся к разным темам:
// producer
await kafka.produce(
event1 { message: "vito", topic: "corleone" },
event2 { message: "sonny", topic: "deadinpart1" }
event3 { message: "fredo", topic: "deadinpart2" }
)
Если я это сделаю, я получу все три события (слушая три темы), что заставляет меня думать, что Кафка может не поддерживать несколько сообщений на одну и ту же темув партии.
Мои настройки производителя выглядят так:
const kafkaConfig: KafkaConfigSchema = {
brokers: config().kafka.brokers, // array of brokers
useSasl: config().kafka.useSasl, // true
useSsl: config().kafka.useSsl, // true
username: config().kafka.username,
password: config().kafka.password,
groupId: config().kafka.groupId, // a unique string
};
Есть ли какие-либо настройки, которые мне не хватает или я что-то не так архитектурно делаю, отправляя сообщения, которые разделяют тему в одном пакете?