Junior — Middle
88
Vertel ons over je niveau van kennis van RabbitMQ en je ervaring met het gebruik ervan in projecten.
Bedrijven waar gevraagd werd
НТЦ Вулкан
Antwoord van AI
sobes.tech AI
Я знаком с RabbitMQ как с брокером сообщений, который реализует протокол AMQP. В проектах использовал его для организации асинхронного обмена сообщениями между сервисами, что позволяло разгрузить основные процессы и повысить масштабируемость.
Опыт включает:
- Настройку очередей, обменников (exchanges) и привязок (bindings).
- Отправку и получение сообщений с помощью библиотеки pika в Python.
- Обработку подтверждений доставки (acknowledgements) и повторную попытку обработки сообщений.
- Использование различных типов обменников: direct, topic, fanout для разных сценариев маршрутизации.
Пример простого отправителя и получателя на Python с pika:
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 RabbitMQ')
connection.close()
# Получатель
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='task_queue', durable=True)
def callback(ch, method, properties, body):
print(f"Получено сообщение: {body.decode()}")
ch.basic_ack(delivery_tag=method.delivery_tag)
channel.basic_consume(queue='task_queue', on_message_callback=callback)
channel.start_consuming()
RabbitMQ помогал обеспечить надежную доставку сообщений и масштабируемость приложений.