适用于AWS的Azure Service Bus等效项

use*_*300 6 event-driven-design amazon-web-services node.js

我正在将应用程序从c#移动到node.js. 我是一个来自.net背景的node.js新手.我希望将域驱动的设计模式合并到应用程序中.发展使我有了有限的背景和微观服务的概念.我想使用aws作为我的云提供商,但在确定应该使用哪个工具来处理命令和事件处理时遇到问题?Azure有服务总线,似乎对此非常有用.

是否有相当于aws的服务总线,还是我应该使用SQS?

Ser*_*lev 17

没有直接等效于Azure Service Bus,但可以通过组合SQS和SNS来替换它.让我们来看看.Azure Service Bus由两部分组成:

  1. 队列.在大多数情况下,SQS(简单队列服务)将提供足够的替换,但请记住,Azure Service Bus队列是先进先出(FIFO),而SQS队列不保证消息的顺序.

更新2018-01-09:SQS现在允许创建FIFO队列.(参见https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html)

  1. 主题和订阅.当您需要向多个消费者提供相同的消息时,这在PubSub(发布/订阅)事件驱动设计中使用.SQS不能这样做,但SNS(简单通知服务)正是这种类型的服务.

更新2018-08-01:2017年11月28日,亚马逊推出了亚马逊MQ,它是亚马逊云中的Apache Active MQ.Amazon MQ具有队列和主题(用于发布/订阅使用模型),因此可以将其视为Azure Service Bus的全功能替代品.


maz*_*cha 7

2019 年 7 月更新:亚马逊推出了 EventBridge 服务总线服务,该服务支持自定义应用程序的事件驱动架构,以及与其平台上托管的 AWS 服务和其他 SaaS 的集成,请参阅https://aws.amazon.com/about-aws/最新消息/2019/07/introducing-amazon-eventbridge/