Что такое гарантия доставки сообщения
Python
Middle
Без компании
Что такое гарантия доставки сообщения
Ответы
Гарантия доставки сообщения — это механизм, который обеспечивает, что сообщение будет доставлено адресату, даже если возникают временные сбои (например, сетевые проблемы или перезапуск сервиса).
Основные подходы:
- **Подтверждение получения** (ACK) — отправитель ждёт подтверждения от получателя.
- **Повторные попытки** — если подтверждения нет, сообщение отправляется снова.
- **Сохранение состояния** — сообщения хранятся в устойчивом хранилище до успешной доставки.
Пример на Python с RabbitMQ:
```
import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
# Включение подтверждений
channel.confirm_delivery()
# Объявление очереди с durable=True для сохранения сообщений при перезапуске
channel.queue_declare(queue='task_queue', durable=True)
# Отправка сообщения с persistent=True
channel.basic_publish(
exchange='',
routing_key='task_queue',
body='Hello World!',
properties=pika.BasicProperties(
delivery_mode=pika.DeliveryMode.Persistent
)
)
connection.close()
```