История изменений
Исправление 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 из полученного запроса.
Так?