Обмен сообщениями Kafka с различными типами данных и сравнение производительности

#python #apache-kafka #kafka-producer-api

#python #apache-kafka #kafka-producer-api

Вопрос:

Я отправляю сообщения от производителя Kafka потребителю на python.

В Producer я отправляю данные следующим образом:

 producer.send(topicName,str.encode( message_data))
 

И в получении потребителем данных с:

 for msg in consumer:
   # print("Message from Producer on Topic - " msg.topic ":"  msg.value.decode())
 

Здесь данные представлены в байтах.
Аналогично, мне нужно отправить данные в разных типах данных и сравнить производительность.Как я могу это сделать?

Ответ №1:

Kafka всегда хранит данные в байтах. Вы можете использовать любой тип данных, который вы хотите, например, вы могли бы использовать pickle или json (хотя это все равно будет строка) вместо простого кодирования строковой переменной

Некоторые библиотеки Kafka Python предоставляют функцию сериализатора, а не вы явно обрабатываете сериализацию между клиентами

Комментарии:

1. Если я отправляю данные в формате JSON или в байтах. Как я могу понять его производительность. Сколько потребовалось для отправки сообщения и т. Д

2. Вы можете использовать timeit модуль Python, но код Python для тестирования производительности не является специфичным для Kafka, поэтому я уверен, что вы можете найти ресурсы для этого в другом месте