您好,我有网上商店,并希望在单独的服务器上设置数据库的负载平衡,但有什么时候会有通讯sendind邮件发生。 我的谦虚的想法是,那些networking服务器不知道谁发送了什么,可能会发生多次? 例如,WEB1 trigers发送,然后WEB2触发发送相同的邮件。
您将传出的电子邮件作业放入队列中,然后有一个工作进程(每个服务器上可能有一个进程)使用排队的邮件并对其执行操作。
工作进程声明一个队列消息(使其不可用于其他工作人员消耗),发送电子邮件,然后在成功完成后确认消息。 如果消息在特定的超时内未被确认,则它们将重新出现在另一个工作人员消耗的队列中。
RabbitMQ是一个备受推崇的消息队列系统。 Redis,Gearman,甚至像Amazon的Simple Queue Service都是其他的select。