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.