Какие знаешь типы гарантии доставки сообщений

Python Middle Без компании
Какие знаешь типы гарантии доставки сообщений
Ответы
В Python при работе с очередями сообщений (например, RabbitMQ, Kafka) есть несколько типов гарантий доставки: - **At-most-once** – сообщение может быть потеряно, но не будет доставлено дважды. Пример: ``` channel.basic_publish(exchange='', routing_key='queue', body=message) ``` - **At-least-once** – сообщение гарантированно доставлено, но возможны дубли. Достигается подтверждением (ack): ``` channel.basic_consume(queue='queue', on_message_callback=callback, auto_ack=False) ``` - **Exactly-once** – сложная гарантия, требует идемпотентности или транзакций. В Kafka: ``` producer = KafkaProducer(acks='all', enable_idempotence=True) ``` - **Transactional** – доставка в рамках транзакции (например, база данных + очередь). RabbitMQ: ``` channel.tx_select() channel.basic_publish(...) channel.tx_commit() ```