1

在您看来(希望是基于事实而非情感形成的)从网站发送电子邮件通知的更好方法是什么?

例如,假设您网站上的用户 A 请求与用户 B 建立友谊,此时您将生成一封电子邮件以发送给用户 B。

问题是 - 发送电子邮件的最佳时间是什么时候?立即,作为同一执行路径的一部分,还是将电子邮件安排为批处理的一部分?

就像我说的,我的问题相当笼统,所以你可以假设不同的架构——一台服务器专用于托管,另一台专用于电子邮件,单台服务器,云托管等……我对所有答案都很好奇,真的。

照我看来:

使用即时电子邮件,您可以获得及时的电子邮件,但如果您的网站收到大量流量,您可能会发送过多的电子邮件,从而使服务器陷入困境。话虽如此,因为您没有发送一批电子邮件,所以它们都是一次性的。

如果您批量处理您的电子邮件并有一个计划任务或 cron 作业将它们拾取并发送,那么您的电子邮件不会立即发送 - 所以假设您减少了间隔,以便每 1 分钟发送一次批处理。在我看来,问题是并发性——如果另一批在第一批完成之前开始,如果您没有适当地标记或锁定您正在发送的内容,您可能会冒着发送双封电子邮件的风险。

以我个人的经验,当我在高流量网站上立即发送电子邮件时,性能并没有受到太大影响,尽管有一些电子邮件未能发送出去。

想法?

4

1 回答 1

1

我会说肯定安排他们。就用户请求和服务器操作而言,必须有一个容忍度,就好像有人能够与其他人成为朋友一样,它也(我希望)能够拒绝与同一个人建立友谊。如果是这样,如果我快速接受并拒绝点击您的网站怎么办。?

在这种情况下,您有 2 个选项,imo:

  • 像 SO 一样,在用户点击时添加一些时间(你不能在 2 秒内接受和拒绝)

  • 或者你可以,但是此时发送给接受/请求友谊的人的最终消息被安排在服务器上,并且会在 30 分钟后发送(或更短时间,取决于架构师的选择)

希望这可以帮助。

于 2012-04-20T14:27:30.313 回答