相关疑难解决方法(0)

我为什么要使用Amazon Kinesis而不是SNS-SQS?

我有一个用例,会有数据流来,我不能以相同的速度消耗它,需要一个缓冲区.这可以使用SNS-SQS队列来解决.我开始知道Kinesis解决了同样的目的,那有什么区别?为什么我更喜欢(或不应该更喜欢)Kinesis?

amazon-sqs amazon-web-services amazon-kinesis

146
推荐指数
11
解决办法
6万
查看次数

将Amazon SQS与多个消费者一起使用

我有一个基于服务的应用程序,它使用具有多个队列和多个消费者的Amazon SQS.我这样做是为了实现基于事件的体系结构并解耦所有服务,其中不同的服务对其他系统的状态变化做出反应.例如:

  • 注册服务:
    • 当新用户注册时,发出事件'registration-new'.
  • 用户服务:
    • 在用户更新时发出事件'用户更新'.
  • 搜索服务:
    • 从队列'registration-new'读取并在搜索中索引用户.
    • 从队列"用户更新"中读取并在搜索中更新用户.
  • 指标服务:
    • 从"registration-new"队列中读取并发送到Mixpanel.
    • 从队列'用户更新'中读取并发送到Mixpanel.

我有很多问题:

  • 进行轮询时,可以多次接收消息.我可以设计很多系统是幂等的,但是对于某些服务(例如度量服务)来说要困难得多.
  • 需要在SQS中从队列中手动删除消息.我曾想过实现一个"消息处理服务",它在所有服务都收到消息时处理消息的删除(每个服务在处理消息后都会发出'消息确认'事件).

我想我的问题是:我应该使用哪些模式来确保我可以在SQS中为单个队列拥有多个使用者,同时确保消息也可以被可靠地传递和删除.谢谢您的帮助.

event-based-programming amazon-sqs amazon-web-services microservices

26
推荐指数
2
解决办法
2万
查看次数