我的网站上发生了大量的电子邮件,这些邮件是在MySQL表格中加载的。在任何时候都可能有1k-2k等待随时发送。
我一直致力于批量发送电子邮件并通过一名工作人员发送电子邮件。现在我希望在负载增加时将X worker添加到系统中。
我的问题是不允许员工抓住同一封电子邮件。我听说过以下几种选择。
我看到每一个中的价值,但也有很多读/写数据库。那你会怎么做?
通过PHP和MySQL执行此操作
答案 0 :(得分:2)
另一个快速而肮脏的选项,假设您有一个随机或结构化的主键,让N个工作人员只接收key%N==i
i
工作者ID的邮件。
当然,您也可以采用其他足够随机的哈希值。没有必要锁定,没有额外的协调,当一个工人死亡而你没有注意到时,这只是一个小问题......