LINUX.ORG.RU

История изменений

Исправление Aber, (текущая версия) :

Как я хочу? А это разве не типовая ситуация? Ну типа стандартный подход который всем нужен.

Я открыл доку, понял про partition, про consumer group.

Вот какой-то кусок кода нашел, на зловещем JavaScript, но это ладно:

const consumer = new Kafka.KafkaConsumer({
  'group.id': 'kafka-consumer',
  'group.instance.id': 'kafka-consumer-<unique-instance-id>',
  'partition.assignment.strategy': 'range',
  'metadata.broker.list': 'localhost:9092',
}, {});

Вижу что тут динамически создают группу и в имя группы добавили инедтификатор инстанса.

Значит в случае какого-нибудь kubernates надо передать через переменную окружения POD_NAME и использовать его для создания consumer_group, после чего этот consumer_group передавать в сообщении к микросервису от которого ожидается ответ. Когда ответ будет готов микросервис отправит ответ используя consumer-group из полученного запроса.

Так?


Хот я тут какую-то чушь наверное написал, я пока не разобрался что такое group.instance.id и как оно фактически работает.

Исправление Aber, :

Как я хочу? А это разве не типовая ситуация? Ну типа стандартный подход который всем нужен.

Я открыл доку, понял про partition, про consumer group.

Вот какой-то кусок кода нашел, на зловещем JavaScript, но это ладно:

const consumer = new Kafka.KafkaConsumer({
  'group.id': 'kafka-consumer',
  'group.instance.id': 'kafka-consumer-<unique-instance-id>',
  'partition.assignment.strategy': 'range',
  'metadata.broker.list': 'localhost:9092',
}, {});

Вижу что тут динамически создают группу и в имя группы добавили инедтификатор инстанса.

Значит в случае какого-нибудь kubernates надо передать через переменную окружения POD_NAME и использовать его для создания consumer_group, после чего этот consumer_group передавать в сообщении к микросервису от которого ожидается ответ. Когда ответ будет готов микросервис отправит ответ используя consumer-group из полученного запроса.

Так?

Хот я тут какую-то чушь написал, я пока не разобрался что такое group.instance.id и как оно фактически работает.

Исходная версия Aber, :

Как я хочу? А это разве не типовая ситуация? Ну типа стандартный подход который всем нужен.

Я открыл доку, понял про partition, про consumer group.

Вот какой-то кусок кода нашел, на зловещем JavaScript, но это ладно:

const consumer = new Kafka.KafkaConsumer({
  'group.id': 'kafka-consumer',
  'group.instance.id': 'kafka-consumer-<unique-instance-id>',
  'partition.assignment.strategy': 'range',
  'metadata.broker.list': 'localhost:9092',
}, {});

Вижу что тут динамически создают группу и в имя группы добавили инедтификатор инстанса.

Значит в случае какого-нибудь kubernates надо передать через переменную окружения POD_NAME и использовать его для создания consumer_group, после чего этот consumer_group передавать в сообщении к микросервису от которого ожидается ответ. Когда ответ будет готов микросервис отправит ответ используя consumer-group из полученного запроса.

Так?