Junior — Middle
Have you had experience working with message processing systems that use asynchronous communication via a broker?
sobes.tech AI
Answer from AI
Yes, I have experience working with message processing systems through brokers. Such systems use asynchronous communication, where the sender places a message in the broker's queue, and the receiver retrieves it for processing.
Popular brokers include: RabbitMQ, Apache Kafka, ActiveMQ.
Advantages of this approach:
- Decoupling system components.
- Increased fault tolerance.
- Scalability.
Example in Python using the pika library for RabbitMQ:
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='task_queue', durable=True)
channel.basic_publish(exchange='', routing_key='task_queue', body='Hello World!',
properties=pika.BasicProperties(delivery_mode=2))
print(" [x] Sent 'Hello World!'")
connection.close()
This code sends a message to the queue, which can then be processed asynchronously.