使用Amazon SQS的最佳做法 - 轮询队列

Ale*_*lex 13 c# amazon-sqs amazon-web-services

我正在设计一个服务,用于发送电子邮件给我们的电子商务网站(订单确认,警报等......)计划是使用"SendEmail"方法,生成一大块代表要发送的电子邮件的XML,并坚持使用它在Amazon SQS队列中.我的网络应用程序和其他应用程序将使用它来"发送"电子邮件.

然后我需要一种检查队列的方法,并实际发送电子邮件消息.(我知道我将如何发送电子邮件)

我很好奇是什么"轮询"队列的最佳方式是什么?

我应该创建一个Windows服务,并使用Quartz.net之类的东西来安排它每隔x分钟检查一次队列吗?有没有更好的方法呢?

小智 25

听起来更像亚马逊SNS是你的哈克贝利.(不太确定这意味着什么,但我曾经在电影中看过它).

SQS更像是"希望有人在它到期前的某个时刻来寻找这个消息!" SNS看起来更像是"我需要确保它能够立即得到任何需要它的人!"

它甚至包括作为预建交通工具的电子邮件.(甚至不确定这是否是正确的词)

Amazon SNS提供了一个简单的Web服务接口,可用于创建您想要通知应用程序(或人员)的主题,订阅客户端到这些主题,发布消息,并通过客户端选择的协议(即HTTP,电子邮件等).Amazon SNS使用"推送"机制向客户端发送通知,无需定期检查或"轮询"新信息和更新.

可以肯定的是,它们与其他服务具有相同的免费增值模式,并且对电子邮件有限制:

您可以免费使用Amazon SNS.每个月,Amazon SNS客户不会为前100,000个Amazon SNS请求支付任何费用,不会对通过HTTP发出的前100,000个通知收取任何费用,也不会对通过电子邮件发送的前1,000个通知收取任何费用.

  • LOL Huckleberry,我认为这意味着暗示它是你的朋友.因为Huckleberry是Tom Sawyer的朋友. (3认同)

Big*_*714 4

如果我是您,并且我真的想让 SQS 适合这种情况,我会创建一个 Windows 服务,每 10 分钟从队列中检索任何消息,然后调度它们。

\n\n

如果我可以使用不同的服务,我会认真考虑使用像Postmark这样的服务(我今天刚刚通过Jeff Atwood\xe2\x80\x99s 博客文章的评论才发现这一点)。您只需将电子邮件信息提交给他们的 api,他们就会完成剩下的工作。他们甚至有一个 API 用于检查退回的电子邮件。我从未使用过这项服务,但我认为听起来很棒,并且会在将来认真考虑使用它。

\n