Эквивалент служебной шины Azure для AWS
Я нахожусь в процессе перемещения приложения из C# в node.js. Я новичок в node.js, пришедший из.net. Я ищу, чтобы включить шаблоны приложения на основе домена в приложение. развитие, которое привело меня к концепции ограниченного контекста и микро-услуг. Я хотел бы использовать aws в качестве своего облачного провайдера, но у меня возникла проблема с определением, какой инструмент использовать для обработки команд и обработки событий? У Azure есть служебная шина, которая, кажется, работает довольно хорошо для этого.
Есть ли эквивалент для служебной шины для aws или мне просто стоит использовать SQS?
2 ответа
Прямой эквивалент Azure Service Bus не существует, но его можно заменить путем объединения SQS и SNS. Давайте взглянем. Сервисная шина Azure состоит из двух частей:
- Очереди В большинстве случаев SQS (Simple Queue Service) обеспечит адекватную замену, но имейте в виду, что очереди служебной шины Azure имеют формат FIFO, а очереди SQS не гарантируют порядок сообщений.
Обновление 2018-01-09: SQS теперь позволяет создавать очереди FIFO. (см. https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html)
- Темы и подписки. Это используется в управляемом событиями дизайне 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 и т. Д.
Увидеть:
- https://redis.io/
- https://www.rabbitmq.com/
- http://zeromq.org/
- http://activemq.apache.org/
- http://nsq.io/
Найти гораздо больше проектов и услуг здесь: