我正在制定发送和接收电子邮件的蓝图。我正在寻找最佳实践。
- 我们必须发送例如 1000 条消息单击按钮。如何使用 SNS 和 SQS 立即发送消息?创建一个 SNS 请求以在队列中创建 1000 条消息是个好主意吗?
有没有办法安排1000条消息?
- 我们接收消息,使用 SNS 和 SQS 处理消息的最佳方式是什么?
我正在制定发送和接收电子邮件的蓝图。我正在寻找最佳实践。
有没有办法安排1000条消息?
最好在按钮单击时将 1 条消息放在队列中,这样用户就不必等待。然后有一个不同的过程,将消息从队列中取出并发送电子邮件或将另外 1000 条消息排队,每封电子邮件一条。
不要将其视为单击按钮发送 1000 封电子邮件,将其视为安排电子邮件作业。
不知道您要做什么,但您可能也不希望在用户单击按钮后等待响应时加载 1000 条消息。
我会考虑,有 2 个 SQS 队列(至少),第一个队列用于安排批处理作业,单击鼠标插入一个作业,即按照 Travis R 的建议“将此电子邮件发送给 1000 人”。
另一项工作可以在第一季度轮询,看到“向这 1000 人发送这封电子邮件,然后它可以在第二季度创建 1000 条 SQS 消息,每个电子邮件地址一个。
第三个进程(可能是多个进程)将观察 Q2 并从列表中发送一封电子邮件,然后删除该消息。使用这种方法,您可以通过 SQS 设置或通过限制“发送单个电子邮件”作业的运行频率来大幅降低发送速率以适应 ISP 的限制。
还可以考虑使用亚马逊 SES 并设置另一个流程来监控退回和投诉 - 如果您一次要发送 1000 多封电子邮件,您肯定会拥有这些流程。