Sobes.tech
Junior — Middle

Do you have experience developing adapters or built-in solutions for interacting with Kafka?

sobes.tech AI

Answer from AI

Yes, in Python projects, adapters or wrappers are often created to interact with Apache Kafka — a distributed messaging system.

To work with Kafka in Python, the confluent-kafka or kafka-python library is usually used. Adapters help abstract connection details, message serialization, and error handling.

Here's a simple example of an adapter for sending messages:

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"Delivery error: {err}")
        else:
            print(f"Message delivered to {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()

# Usage
adapter = KafkaAdapter('localhost:9092')
adapter.send('my_topic', key='key1', value='Hello Kafka')

Such an adapter simplifies integration with Kafka and allows centralized management of message sending and processing logic.

Do you have experience developing adapters or… - sobes.tech