SNS Flashcards

1
Q

SNS - это реализация архитекурного паттерна …

A

pub / sub publish subscribe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

В SQS Consumer AutoScaling группе сообщение обрабатывает …. А в SNS Subscribers группе сообщение обрабатывает …

A

только один из группы, каждый из группы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

В SNS каждый подписчик получает каждое сообщение, если …

A

НЕ используется фича “filters”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Каковы лимиты SNS?

A

Максимум 12_500_000 подписчиков на каждый топик. Максимум 100_000 SNS топиков в каждом AWS аккаунте.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Какие Security фичи имеет сервис SQS? Что это напоминает?

A

Encryption, Policies. Полностью аналогично в SNS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Какие виды Encryption бывают в SNS? Что это напоминает?

A

In Flight, At rest (SSE), Client Side. Полностью аналогично в SQS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Как использовать SNS In Flight Encryption? Что это напоминает?

A

Слать SNS сообщения в HTTPS API, пользуясь SSL/TLS сертификатом. Полностью аналогично в SQS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Как использовать SNS At Rest Encryption? Какое оно бывает? Что это напоминает?

A

SSE-SNS шифрование самим SNS сервисом. SSE-KMS ключ шифрования предоставлен KMS сервисом. Полностью аналогично в SQS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Как использовать SNS Client Side Encryption? Что это напоминает

A

клиент берёт ответственность за шифрование и расшифровку на себя. Полностью аналогично в SQS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что такое SNS Policies? Какие есть use-case для них? Что это напоминает?

A

IAM Policies позволяют разрешать / запрещать доступ к SQS/SNS API. Чтобы разрешить другим сервисам (SNS, S3…) писать в SQS очередь или SNS топик. Чтобы настроить Cross-Account access к SNS топику.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

На сколько широко можно дать доступ при помощи SNS Queue Policies? Что это напоминает?

A

Можно дать доступ к очереди/SNS-топику даже ДРУГИМ АККАУНТАМ, Cross Account. Аналог S3 Bucket Policies.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Какие гарантии доставки и очерёдности сообщений бывают в SNS? Как на это повлиять?

A

SQS STANDARD даёт “At-lest once delivery” и “Best effort ordering”. SQS FIFO даёт “FIFO ordering” и “Exactly one delivery”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Какие недостатки есть у SNS FIFO?

A

ограниченный throughput. 300 транзакций/сек

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

На что похожа SNS FIFO topic? Как они связаны? Как это называется?

A

На SQS FIFO queue. Subscriber’ами для FIFO SNS топика могут быть только FIFO SQS очереди. НЕ Standard SQS очереди. Связка SNS FIFO топик + SQS FIFO очереди = “Fan Out” паттерн.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Что такое FIFO Deduplication? В каком сервисе оно есть? Для чего она нужна?

A

Эта фича FIFO позволяет избавиться от дубликатов сообщений, обеспечив Exactly-one processing. Есть в SQS и SNS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Какой неожиданный результат можно получить при использовании FIFO Deduplication?

A

Если в течение 5-ти минут (интервал задаётся) отправить в FIFO очередь такое же сообщение, то оно будет отклонено.

17
Q

Как работает FIFO Deduplication?

A

Content-based Deduplication (SHA-256 hash of message body) и Explicit Message Deduplication ID (мы явно выделяем поле для ID).

18
Q

Что такое FIFO Message Grouping? В каком сервисе оно есть? Для чего она нужна?

A

Эта фича FIFO позволяет группировать сообщения, обеспечив им всем обработку одним и тем же Consumer’ом. Есть в SQS и SNS.

19
Q

Есть ли Message Grouping в Standard? Как задаётся Message Grouping в FIFO?

A

НЕТ, только для FIFO, соблюдая порядок. Задаётся через поле MessageGroupId, обязательное для всех FIFO.

20
Q

Как можно выбирать значение для MessageGroupId в FIFO? От чего это зависит?

A

Если MessageGroupId одинаковый для ВСЕХ сообщений, то FIFO подарок обеспечен для ВСЕЙ очереди. Если MessageGroupId одинаковый только в рамках ГРУППЫ сообщений (каждая группа для всего Consumer’а), то FIFO порядок обеспечен только внутри каждой группы.

21
Q

Что если SNS topic находится в аккаунте “A”, а EC2 instance Consumer находится в аккаунте “B”? Как выглядит синтаксис?

A

нужно использовать IAM Resource Based Policy для SNS топика, ведь Resource Based Policy (как и в S3) являются Cross Account. Principle: {AWS: 111222333444}