Функции Amazon SNS
Типы тем
Стандартные темы
Стандартные темы можно использовать во многих сценариях, если приложение может обрабатывать сообщения, поступающие несколько раз и не по порядку, например: распределение сообщений на кодирование медиафайлов, обнаружение мошенничества, расчет налогов, указатель для поиска и приложения для оповещения о критических ситуациях.
Максимальная пропускная способность: стандартные темы поддерживают почти неограниченное количество сообщений в секунду.
Упорядочение «Наилучшее из возможного»: иногда сообщения могут доставляться в порядке, отличающемся от порядка их публикации.
Оптимальная дедупликация: сообщение доставляется как минимум один раз, иногда отправляется несколько копий сообщения.
Несколько типов подписок: сообщения можно доставлять как на адреса приложения (A2A) [Amazon SQS, Amazon Data Firehose, AWS Lambda, HTTPS], так и на адреса для обмена сообщениями между пользователями (A2P) [SMS, мобильная отправка и электронная почта].
Распространение сообщений: каждый аккаунт может поддерживать 100 000 стандартных тем, а каждая тема – до 12,5 млн подписок.
Темы FIFO
Темы FIFO предназначены для улучшения обмена сообщениями между приложениями, когда порядок операций и событий критичен или когда дублирование недопустимо, например отправка сообщений в приложения для регистрации банковских транзакций, мониторинга запасов или управления ими, отслеживания рейсов, и обновления цен.
Высокая пропускная способность: темы FIFO поддерживают до 3000 сообщений в секунду или 10 МБ в секунду на каждую тему FIFO (в зависимости от того, что наступит раньше).
Строгий порядок: порядок, в котором сообщения отправляются и принимаются, строго сохраняется (т. е. по принципу «первым получено – первым отправлено»).
Строгая дедупликация: повторяющиеся сообщения не доставляются. Дедупликация происходит через 5 минут с момента публикации сообщения.
Подписки SQS: сообщения можно доставлять в очереди Amazon SQS.
Распространение сообщений: каждый аккаунт может поддерживать 1000 тем FIFO, а каждая тема – до 100 подписок.
Источники и целевые объекты событий
Вычисления, управляемые событиями, – это модель, в которой службы подписчиков автоматически выполняют работу в ответ на события, вызванные сервисами издателя. Эта парадигма может применяться для автоматизации рабочих процессов при одновременном разделении служб, которые совместно и независимо друг от друга работают для выполнения этих рабочих процессов. Сервис Amazon SNS представляет собой центр событий, который предлагает встроенную возможность интеграции с большим количеством источников и целевых объектов событий AWS.
Документация
Блоги
Публикация и пакетная обработка сообщений
Публикация сообщений позволяет отправлять данные в виде сообщений в тему Amazon SNS, которая асинхронно доставляет сообщения приложениям, подписанным на эту тему. На один запрос API можно публиковать от 1 до 10 сообщений. Вы можете объединить сообщения в пакетном режиме, чтобы сократить расходы на Amazon SNS. Каждое сообщение может содержать до 256 КБ данных. Если ваш пример использования требует больших объемов полезных данных, расширенная клиентская библиотека Amazon SNS сохраняет полезные данные (до 2 ГБ) в бакете Amazon S3 и публикует ссылку на сохраненный объект Amazon S3 в теме Amazon SNS.
Документация
Блоги
Фильтрация сообщений
Фильтрация сообщений позволяет приложениям-подписчикам создавать политики фильтрации, чтобы эти приложения могли получать только те уведомления, которые их интересуют, а не каждое сообщение, опубликованное в этой теме. Это позволяет упростить архитектуру, разгрузив логику фильтрации сообщений из приложений-подписчиков, а также логику маршрутизации сообщений из приложений-издателей.
Документация
Учебное пособие
Блоги
Распространение и доставка сообщений
Когда вы публикуете сообщение в теме, Amazon SNS реплицирует сообщение и доставляет его приложениям, подписавшимся на эту тему. Amazon SNS поддерживает доставку сообщений от приложения к приложению (A2A) и от приложения к пользователю (A2P). Amazon SNS также поддерживает межрегиональную доставку сообщений и доставку сообщений между аккаунтами в дополнение к регистрации статуса доставки сообщений с помощью Amazon CloudWatch.
Документация
-
Использование Amazon SNS для обмена сообщениями между приложениями (A2A)
-
Использование Amazon SNS для обмена сообщениями между пользователями (A2P)
Учебное пособие
Надежность доставки сообщений
Amazon SNS использует одновременно несколько механизмов, чтобы обеспечить надежную доставку сообщений. Изначально опубликованные сообщения хранятся на разных географически изолированных серверах и центрах обработки данных. Если подписанный адрес недоступен, Amazon SNS применяет политику повторной отправки недоставленных сообщений. Чтобы сохранить все сообщения, которые не удалось отправить до применения политики повторной отправки недоставленных сообщений, можно создать очередь недоставленных писем на базе Amazon SQS. Также можно подписать потоки доставки Amazon Data Firehose на темы Amazon SNS, благодаря чему сообщения будут доставляться по надежным адресам, например в бакеты Amazon S3 или таблицы Amazon Redshift.
Документация
Блоги
Шифрование сообщений
Amazon SNS обеспечивает шифрование тем, защищая сообщения от несанкционированного и анонимного доступа. Когда вы публикуете сообщения в зашифрованных темах, Amazon SNS немедленно шифрует ваши сообщения. Для шифрования на сервере используются 256-битный алгоритм AES-GCM и главный ключ клиента (CMK), выдаваемый в Сервисе управления ключами AWS (KMS). Сообщения хранятся в зашифрованном виде и расшифровываются по мере их доставки адреса подписки, такие как очереди Amazon SQS, потоки Amazon Data Firehose, функции AWS Lambda, адреса HTTP/S, телефонные номера, мобильные приложения и адреса электронной почты.
Документация
Блоги
Конфиденциальность сообщений
Amazon SNS поддерживает адреса VPC (VPCE) через AWS PrivateLink. Вы можете использовать адреса VPC для публикации частных сообщений в темах Amazon SNS из виртуального частного облака Amazon (VPC), без выхода в Интернет. Эта функция повышает уровень безопасности, способствует защите конфиденциальности данных и соответствует требованиям программ обеспечения безопасности. При использовании AWS PrivateLink нет необходимости настраивать шлюз Интернета (IGW), устройство трансляции сетевых адресов (NAT) или подключение к виртуальной частной сети (VPN). Вам также не нужно использовать публичные IP-адреса.
Документация
Учебное пособие
Блоги
Архивирование, воспроизведение и аналитика сообщений
Для стандартных тем Amazon SNS обеспечивает прямое подключение к Amazon Data Firehose, что позволяет хранить сообщения в таких сервисах, как Amazon S3, Amazon Redshift, сервис Amazon OpenSearch и MongoDB. Эта функция также позволяет хранить сообщения в аналитических сервисах, таких как Datadog, New Relic и Splunk. Для тем FIFO Amazon SNS предлагает возможность хранения и воспроизведения сообщений на месте без необходимости выделения отдельного архивного ресурса. Это повышает надежность событийных приложений и помогает восстанавливаться после отказов нисходящего потока.
Документация
Блоги
Текстовые SMS-сообщения
Amazon SNS поддерживает возможность отправки текстовых SMS-сообщений более чем в 200 странах с использованием высокодоступного и надежного сервиса с резервированием между несколькими поставщиками SMS. С помощью Amazon SNS вы можете управлять идентификацией, используя идентификатор отправителя, длинные или короткие коды. Кроме того, вы можете использовать изолированную среду Amazon SNS для проверки рабочих нагрузок SMS перед их запуском.
Документация
Блоги
Push-уведомления для мобильных устройств
Уведомления Amazon SNS для мобильных устройств упрощают рассылку push‑уведомлений на устройства iOS, Android, Fire, Windows и Baidu. Уведомления для мобильных устройств могут инициироваться пользователем или бизнес-логикой. Amazon SNS доставляет push-уведомления для мобильных устройств с помощью Amazon Device Messaging (ADM), Apple Push Notification Service (APNs), Baidu Cloud Push (Baidu), Firebase Cloud Messaging (FCM), Microsoft Push Notification Service для Windows Phone (MPNS) и Windows Push Notification Services (WNS).
Документация
Блоги
Оповещения по электронной почте
Amazon SNS поддерживает доставку уведомлений на адреса электронной почты, подписанные на темы. Эта функция поддерживает множество вариантов использования. Например, вы можете использовать Amazon SNS для получения уведомлений от приложений в виде электронных писем, чтобы обеспечить прозрачность рабочих процессов DevOps. Таким образом, вы можете немедленно получить уведомление о каком-либо событии, например о конкретном изменении в группе «Автомасштабирование» Amazon EC2, о загрузке нового файла в бакет Amazon S3 или о превышении порогового значения метрик в Amazon CloudWatch.