Потребитель protobuf Kafka с несколькими типами сообщений - PullRequest
1 голос
/ 06 августа 2020

Я использую confluent kafka python client для создания потребителя protobuf, в конфигурации он указывает value.deserializer с типом сообщения:

    protobuf_deserializer = ProtobufDeserializer(newTopic_pb2.Foo)
    string_deserializer = StringDeserializer('utf_8')

    consumer_conf = {'bootstrap.servers': config['bootstrap_servers'],
                     'key.deserializer': string_deserializer,
                     'value.deserializer': protobuf_deserializer,
                     'group.id': config['group'],
                     'auto.offset.reset': "earliest"}

    consumer = DeserializingConsumer(consumer_conf)
    consumer.subscribe('topic1')

newTopi c .proto выглядит как :

syntax = "proto3";

message Foo {
    string f1 = 1;
}

Теперь, если я хочу добавить еще один тип сообщения в протокол,

syntax = "proto3";

message Foo {
    string f1 = 1;
}


message Bar {
    int32 id = 1;
}

Нужно ли мне создавать нового потребителя вместе? В любом случае я могу использовать тот же экземпляр потребителя для обработки сообщения?

...