SQS, SNS part 1 Flashcards
❗️Какие гарантии доставки и очерёдности сообщений бывают в SQS? Как на это повлиять?
SQS STANDARD даёт “At-lest once delivery” и “Best effort ordering”. SQS FIFO даёт “FIFO ordering” и “Exactly one delivery”.
❗️Как работает FIFO Deduplication?
Content-based Deduplication (SHA-256 hash of message body) и Explicit Message Deduplication ID (мы явно выделяем поле для ID).
❗️Что такое Message Visibility Timeout? Зачем оно нужно? На что это похоже?
Какое значение Message Visibility Timeout по-умолчанию?
Когда сообщение стягивается (polled by) Consumer’ом, то оно становится НЕ видимым для других Consumer’ов на некоторое время. В случае успешной обработки, Consumer удалит сообщение. В противном случае сообщение снова будет доступно для poll’инга этим или другими консюмерами. НИ НА ЧТО. В SNS сообщение шлётся всем и каждому consumer’у.
По-умолчанию 30 секунд
❗️Как можно выбирать значение для MessageGroupId в FIFO? От чего это зависит?
Если MessageGroupId одинаковый для ВСЕХ сообщений, то FIFO подарок обеспечен для ВСЕЙ очереди. Если MessageGroupId одинаковый только в рамках ГРУППЫ сообщений (каждая группа для всего Consumer’а), то FIFO порядок обеспечен только внутри каждой группы.
❗️Что обозначает MaximumReceives threshold?
Максимальное количество раз, которое консюмеры могут попробовать обработать это сообщение. До отправки в DLQ.
❗️Что такое Delay Queue? Где его можно указать? Каково его значение?
Возможность делать сообщение доступным для чтения НЕ сразу. Можно для всей очереди или для одного сообщения. Значение до 15-ти минут.
❗️Когда использовать технологию Long Polling? Какое значение можно задать? Какие преимущества? На что это похоже?
Всегда, это Best Practice.Снижает количество API запросов к очереди. Повышает эффективность приложения, снижает Latency. От 0 до 20 сек. На батчинг.
❗️В чём разница между DelaySeconds и ReseiveMessageWaitTimeSeconds?
Первое для Message Delay фичи. Второе для Long Polling фичи.
❗️Какие недостатки есть у SQS FIFO?
ограниченный throughput. Максимум 300 сообщений в секунду. Если с батчем, то 300 * 10 = 3000 сообщений в секунду.
❗️Какой неожиданный результат можно получить при использовании FIFO Deduplication?
Если в течение 5-ти минут (интервал задаётся) отправить в FIFO очередь такое же сообщение, то оно будет отклонено.