gpt4 book ai didi

azure - 使用 Azure Functions 通过 Amazon SES 发送电子邮件

转载 作者:行者123 更新时间:2023-12-03 00:12:27 25 4
gpt4 key购买 nike

问题:

因此,我们正在为我们的应用程序构建一个时事通讯系统,该系统必须能够每天发送多次 20k-40k 电子邮件。

首选工具:

  1. Amazon SES - 用于定价和可扩展性
  2. Azure Functions - 用于无服务器计算发送电子邮件

Amazon SES 的限制:

  1. Amazon SES 限制最大发送速率 - Amazon SES 通过施加最大发送速率来限制通过其服务的发送。目前,脱离了沙盒 SES 环境,我们的容量为每秒 14 封电子邮件,每日电子邮件上限为 5 万封。但可以通过支持票提高此限制。

Azure Functions 的限制:

  1. 在消耗计划中,无法限制 Azure Function 执行实例的数量。目前,缩放由 Azure 内部处理,因此该函数可以在几个到数百个实例之间执行。

  2. 从阅读有关 Azure Functions 的其他文章来看,Azure Functions 似乎有一个“预热”期,这意味着该函数可能不会在通过记录的触发器之一触发后立即执行。

Azure Functions 与 SES 的限制:

  1. 明显的问题是 Amazon SES 限制从 Azure 函数发送电子邮件,因为发送电子邮件的 Azure 函数的扩展执行将远高于 SES 允许的发送速率。

  2. 由于 Azure Function 消息的“预热”期可能最终会在 Azure Function 实际开始大规模处理消息并发送电子邮件之前堆积在队列中,因此很有可能达到发送/速率限制。

问题:

  1. 我们如何利用通过 Azure Functions 发送电子邮件的同时仍处于 SES 的 X 封电子邮件/秒限制之下?有没有办法限制 Azure Functions 在每个时间范围内可以执行的次数?那么就像我们不希望每秒运行超过 30 个 Azure Function 实例一样吗?

其他想法:

  1. 如果客户的实现不断达到限制,Amazon SES 可能不喜欢对客户的 SES 进行持续限制。 Amazon SES 的 friend 们,您能评论一下吗?

  2. Azure Functions - 根据文档,消费计划上的 Azure Functions 扩展是在内部处理的。但有没有办法对扩展设置手动“上限”?从客户的角度来看,这似乎是一个常见的要求。 问题不在于 Azure Functions 无法处理负载,问题在于与 Azure Functions 交互的系统的其他组件无法处理 Azure Functions 可以处理的大规模负载。/em>

感谢您的帮助。

最佳答案

如果我正确理解您的问题,最简单的方法是自定义队列限制解决方案。

基本上,您的 AF 只需检索所有邮件请求的调用,然后将它们排队到队列系统(例如 ServiceBus/EventHub/IoTHub)中,然后您可以拥有另一个以 x 分钟间隔运行的 Azure 函数,这将拉取一个最多 y 条消息并将其推送到 SES。你的控制点变成了时钟功能,并且由于队列系统将帮助你确保你知道你的消息传递状态(已经发送到SES)并且你可以在完成后弹出队列,这将允许你确保工作最终完成已处理。

关于azure - 使用 Azure Functions 通过 Amazon SES 发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41767772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com