Эквивалент служебной шины Azure для AWS

Я нахожусь в процессе перемещения приложения из C# в node.js. Я новичок в node.js, пришедший из.net. Я ищу, чтобы включить шаблоны приложения на основе домена в приложение. развитие, которое привело меня к концепции ограниченного контекста и микро-услуг. Я хотел бы использовать aws в качестве своего облачного провайдера, но у меня возникла проблема с определением, какой инструмент использовать для обработки команд и обработки событий? У Azure есть служебная шина, которая, кажется, работает довольно хорошо для этого.

Есть ли эквивалент для служебной шины для aws или мне просто стоит использовать SQS?

2 ответа

Решение

Прямой эквивалент Azure Service Bus не существует, но его можно заменить путем объединения SQS и SNS. Давайте взглянем. Сервисная шина Azure состоит из двух частей:

  1. Очереди В большинстве случаев SQS (Simple Queue Service) обеспечит адекватную замену, но имейте в виду, что очереди служебной шины Azure имеют формат FIFO, а очереди SQS не гарантируют порядок сообщений.

Обновление 2018-01-09: SQS теперь позволяет создавать очереди FIFO. (см. https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html)

  1. Темы и подписки. Это используется в управляемом событиями дизайне PubSub (публикация / подписка), когда вам нужно доставить одно и то же сообщение нескольким потребителям. SQS не может этого сделать, но SNS (Simple Notification Service) - это именно тот тип сервиса.

Обновление 2018-08-01: 28 ноября 2017 года Amazon представила Amazon MQ- Apache Active MQ в облаке Amazon. Amazon MQ имеет как очереди, так и темы (для модели использования публикации / подписки), поэтому его можно рассматривать как полноценную замену служебной шины Azure.

Обновление за июль 2019 г.: Amazon представила сервис служебной шины EventBridge, который обеспечивает создание управляемой событиями архитектуры для пользовательских приложений, а также интеграцию с сервисами AWS и другими SaaS, размещенными на его платформе, см. https://aws.amazon.com/about-aws/whats-new/2019/07/introducing-amazon-eventbridge/

Если SQS соответствует вашим потребностям, он хорошо интегрируется с платформой:

Amazon Simple Queue Service (SQS) - это быстрый, надежный, масштабируемый, полностью управляемый сервис очереди сообщений. Amazon SQS упрощает и удешевляет разделение компонентов облачного приложения. Вы можете использовать Amazon SQS для передачи любого объема данных, не теряя сообщений и не требуя, чтобы другие службы были всегда доступны. Amazon SQS включает в себя стандартные очереди с высокой пропускной способностью и обработкой, по крайней мере, один раз, и очереди FIFO, которые обеспечивают доставку FIFO (первым пришел, первым вышел) и обработку точно один раз.

Кроме того, на рынке есть Enterprise Service Bus (HVM), но она, похоже, единственная для Windows.

Но вам не нужно использовать только те решения, которые непосредственно интегрированы в платформу вашего хостинг-провайдера. Вы можете запустить что-нибудь на AWS. Например, вы можете использовать такие инструменты, как Redis, RabbitMQ, ZeroMQ, ActiveMQ, NSQ и т. Д.

Увидеть:

Найти гораздо больше проектов и услуг здесь:

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