Я использую 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;
}
Нужно ли мне создавать нового потребителя вместе? В любом случае я могу использовать тот же экземпляр потребителя для обработки сообщения?