我目前正在为我正在合作的公司编写一个小型内部社交媒体平台,没什么大不了的,大约。40,000 多名用户。它基本上类似于 Facebook 或 Google+,但功能较少。
这个平台也有一个电子邮件通知系统(除了在线用户的 Ajax 通知)。
现在这是我的问题 - 它根本不是缩放。
我有一个 mySQL 表,其中包含要发送的所有电子邮件通知。因此,一旦有人在组中写了一个故事,系统就会自动在该表中插入一行,并且 email_send 函数(cronjob)会将这些邮件发送给用户(用户可以在即时、每日或每周通知邮件之间进行选择)
到目前为止,一切都很好——如果团体的成员数量很少的话。
但是现在想象一个有 5k+ 成员的组 - 一旦用户将故事发布到该组中,它就会触发 5,000 条 SQL 插入到通知表中。
你会如何解决这个问题?我想到了服务器上的后台工作人员,它会扫描新的故事/评论/内容并在后台触发 email_send 功能。这个规模会更好吗?或者是否有一个标准的方法,我只是在思考错误的方向?
任何正确方向的观点都会非常感激,谢谢你和圣诞快乐:)
// 马库斯