我正在将一个应用程序从c#迁移到node.js。我是一个node.js新手,来自.net背景。我希望将领域驱动设计模式融入应用程序的开发中,这使我接触到了有关有界上下文和微服务的概念。我想使用aws作为我的云提供商,但我遇到了一个问题,就是确定我应该使用哪个工具来处理命令和事件处理?Azure有服务总线,这似乎很适合此类操作。是否有与服务总线相当的AWS工具,或者我应该选择使用SQS?
虽然没有Azure Service Bus的直接替代品,但可以通过结合SQS和SNS来实现替代。让我们来看一下。Azure Service Bus由两部分组成:
更新于2018-01-09:现在SQS允许创建FIFO队列。(参见 https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html)
更新于2018-08-01:在2017年11月28日,亚马逊推出了Amazon MQ,它是Amazon云中的Apache Active MQ。Amazon MQ具有队列和主题(发布/订阅使用模型),因此可以看作是Azure Service Bus的全功能替代品。
此外,市场上还有企业服务总线(HVM),但似乎只适用于Windows。
但您不必仅使用直接集成到托管提供商平台的解决方案。您可以在AWS上运行任何东西。例如,您可以使用Redis、RabbitMQ、ZeroMQ、ActiveMQ、NSQ等工具。
请参见: