如果您希望在没有积压工作的情况下获得即时通知,我会同时考虑这两种情况Node.js 和插座。io。您应该能够非常轻松地使用它们,并与WordPress集成。这个sample chat application on the Socket.io 该网站与您将要做的事情相差不远。
基本上,在LAMP/LNMP堆栈上触发一个事件,它会命中节点。js/插座。io服务器位于XXXX端口,它会响应或出错。如果成功,您将返回呼叫,从而提醒用户,如果出现错误,您只需记录(&;把它们藏起来不让公众知道。
就绩效而言,我的建议仅仅是因为规模。假设有100000个活跃用户,每个用户每天只触发几次警报,即24小时内有200-300000个呼叫。要排队加入人工cron系统,甚至是服务器上的标准cron,需要做很多工作。我个人不相信cron会处理它,如果有一个解决方案,就像我提到的那样,可以很容易地解决这个问题,而不会有太多麻烦,更重要的是,您在脚本编写端不依赖数据库,比如MySQL。所有这些都将发生在用于分析目的的快速日志记录(成功、错误、用户名、时间戳等)和基本文本请求的处理中。身份验证将使用WordPress在主服务器上处理,因此基本上可以锁定节点。js服务器关闭,仅接受和发送响应。
至于电子邮件,如果你打算每天发送10万封(可能是100万封)电子邮件,那么甚至不应该考虑使用同一服务器的电子邮件,也不应该尝试自己托管它。MailChimp运行Mandrill。那里每天50万美元的费用将略高于100美元。SendGrid每天超过200美元,MailGun每天245美元。到目前为止,这并不便宜,但您可以自己动手,每天收到50万封电子邮件并返回给您,因此,您的邮件服务器会因尝试发送的持续和过度负载而瘫痪&;接收几乎相同的负载。
我使用了SendGrid和Mandrill。在我看来,曼德里尔是两者中的佼佼者。我已经和他们在一起一年多了,从来没有出现过问题,也没有出现过交付/反弹失败的情况。简单易用-设置DKIM&;你域上的SPF(他们会告诉你使用什么),这就是它的全部内容。
至于点击用户/帖子元,这是不确定的。有一个非常好的插件叫做高级自定义字段,它利用了post meta。对于简单的元框,它的速度几乎和其他任何东西一样快;帖子进去了,数据出来了(尽管数据出来的速度比进去的速度快得多)。当您开始变得更复杂时,例如ACF所做的事情,这时您真的需要决定是元框还是CPT是更好的选择。
使用CPT(自定义帖子类型),您可以简单地将内容框用作存储的主要字段。它已经存在,没有数据序列化(我相信这会发生在元框中-我知道它会发生在选项表中),并且可以使用预先存在的查询调用它,因此您不用编写新的查询。
依我看,如果你执意使用WordPress作为拦截工具,那么CPT将是一条必经之路。至少对于CPT,您可以选择向其添加meta。