Создание пакета событий в одну и ту же тему кафки перезаписывают друг друга - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь создать два события для одной и той же темы кафки в пакете, только второе событие заканчивается на кафке, а первое не отправляется.

// 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
};

Есть ли какие-либо настройки, которые мне не хватает или я что-то не так архитектурно делаю, отправляя сообщения, которые разделяют тему в одном пакете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...