Рекомендации по системе обмена сообщениями AWS

У меня есть приложение, которое подключается к веб-сокету для получения данных.

Я хотел бы сохранить эту информацию, поместив ее в какую-то очередь для чтения несколькими потребителями. Я бы хотел, чтобы один из этих потребителей подключался к базе данных временных рядов для хранения.

Я реализовал что-то в Kafka, используя InfluxDB, но ищу альтернативы AWS.

  • Сообщения, которые я получаю, имеют временной/финансовый характер.
  • Задержка не так важна, если они получены потребителями примерно через 1 секунду, это нормально.
  • Скорость входящих сообщений спорадическая, до ~5 в секунду.
  • Порядок, в котором они получены, важен, и необходим протокол FIFO.
  • Поток сообщений должен быть подписан несколькими потребителями.

Я немного запутался во всех продуктах, которые предлагает AWS. Может ли кто-нибудь порекомендовать службу обмена сообщениями, основанную на вышеуказанных требованиях? Было бы еще лучше, если бы служба обмена сообщениями подключалась напрямую к базе данных временных рядов AWS, предлагая: Timestream без необходимости кода (немного как Kafka connect).

3 метода стилизации элементов HTML
3 метода стилизации элементов HTML
Когда дело доходит до применения какого-либо стиля к нашему HTML, существует три подхода: встроенный, внутренний и внешний. Предпочтительным обычно...
Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
0
0
48
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы уверены в Kafka, попробуйте Amazon MSK (управляемый сервис для kafka).

Способ «собственной технологии» AWS использует SQS с включенным FIFO.

Как сделать (кратко):

Создайте тему SNS для своих сообщений и позвольте всем вашим клиентам отправлять свои сообщения в эту тему. В SNS подпишитесь на SQS, и все ваши сообщения будут храниться в SQS. Вы также можете подписаться на несколько целей, например на несколько SQS, Kinesis, Lambda и т. д.), чтобы доставлять сообщения в разные рабочие процессы.

Для обработки ваших сообщений вы также можете подписаться на SQS, чтобы получать сообщения, обрабатывать и удалять их и т. д. Это зависит от ваших индивидуальных потребностей.

Я работал с такой настройкой (SNS, SQS) и обрабатывал около 200-300 сообщений в минуту при нормальной нагрузке, не имея большой позиции в счете в конце месяца.

Большое спасибо за это, пара вопросов: Сохраняет ли SQS сообщения? Я полагаю, вы можете установить политику хранения? Судя по всему, мне нужно создать потребителя для отправки сообщений в Timestream, прежде чем удалять сообщения из очереди? Спасибо, что поделились своими расценками на сообщения, о какой позиции мы говорим для таких расценок? Спасибо

WhatTheWhat 23.04.2022 10:23

@WhatTheWhat да, SQS будет хранить сообщения в очереди до 14 дней. После того, как вы обработали сообщение, вы можете удалить их. Скорость сообщений вы можете увидеть на странице ограничений SQS. Мой собственный опыт заключался в том, чтобы обрабатывать более 6 миллионов сообщений в день, и в часы пик можно было иметь десятки тысяч хранилищ сообщений в SQS до их обработки. docs.aws.amazon.com/AWSSimpleQueueService/latest/…

Daniel Seichter 23.04.2022 22:47

Другие вопросы по теме