Sobes.tech
Back to questions
Junior — Middle
70

Есть ли у вас опыт разработки адаптеров или встроенных решений для взаимодействия с Kafka?

Companies where asked
digitech

Answer from AI

sobes.tech AI

Да, в проектах на Python часто создаются адаптеры или обёртки для взаимодействия с Apache Kafka — распределённой системой обмена сообщениями.

Для работы с Kafka в Python обычно используют библиотеку confluent-kafka или kafka-python. Адаптеры помогают абстрагировать детали подключения, сериализации сообщений и обработки ошибок.

Пример простого адаптера для отправки сообщений:

from confluent_kafka import Producer

class KafkaAdapter:
    def __init__(self, brokers):
        self.producer = Producer({'bootstrap.servers': brokers})

    def delivery_report(self, err, msg):
        if err is not None:
            print(f"Ошибка доставки: {err}")
        else:
            print(f"Сообщение доставлено в {msg.topic()} [{msg.partition()}]")

    def send(self, topic, key, value):
        self.producer.produce(topic, key=key, value=value, callback=self.delivery_report)
        self.producer.flush()

# Использование
adapter = KafkaAdapter('localhost:9092')
adapter.send('my_topic', key='key1', value='Hello Kafka')

Такой адаптер упрощает интеграцию с Kafka и позволяет централизованно управлять логикой отправки и обработки сообщений.