我正在建立一个系统,通过电子邮件向订阅者发送经文。订阅者将能够:
我很难在数据模型周围解决这个问题。特别是,我正在努力构建和发送消息给他们。
到目前为止,我已经提出了一个订阅表,它将描述用户对每条消息的内容,频率和内容量的偏好,但我不确切地知道如何建模存储他们想要内容的时间递送
我认为一个cron作业将每小时运行一次,它将生成需要发送的消息并将它们放在message_queue表中。另一个cron作业将在message_queue表中运行并刻录,并在时机成熟时发送消息。
关于如何更有效地建模和构建此系统的任何想法?
这是我目前的数据模型:
Data Model http://www.kirkouimet.com/files/images/sendmescripture.gif
答案 0 :(得分:1)
你几乎走在正确的轨道上。
如果您需要添加其他框,您建议的解决方案应该可以轻松扩展。您可以轻松划分用户群,并让每个N个框处理1 / N个用户。可以从中央DB读取首选项和经文数据,也可以将只读数据复制到从属数据库中。从站将维护自己的队列,可能会将某种汇总状态数据发送回主系统。当然,您可能会发现一切都运行正常,并且您要扩展的第一步是对各种SMTP服务器进行某种循环。我想,sendmail(或等效的)队列很容易成为你最大的,最早的瓶颈。
我会继续按照您的计划进行构建,然后非常仔细地运行一些测试以找出事情被挂起的地方。