[英]Best way implementing messaging queue
我想在我们的Web项目中实现某种消息队列系统。 我只是想知道什么是最好的方法。 它是用PHP(Yii Framework)编写的,以MySQL作为数据库系统。
这个想法:
我考虑了两种方法来做到这一点:
将来自用户1的消息插入带有消息应发送给用户2的日期和时间的“消息”表中。仅当该日期和时间小于当前日期和时间( WHERE addTime <= NOW()
)。
将来自用户1的消息插入“ messageQueue”表中。 该表包含将来需要放置的所有消息。 cronjob(它将每分钟运行一次)会将日期和时间小于当前时间的所有消息放入“ message”表,并将其从“ messageQueue”表中删除。 电子邮件可以直接发送给用户2。
缺点:
有谁知道这样做吗? 我实际上正在从服务器/数据库中寻找某种推送功能,该功能告诉我的脚本新消息已传递给用户2,并且电子邮件需要发送给用户2。
您可以使用CURL而不是CRON来自动请求您的“ CRON JOB SCRIPT”。 在先前完成后将调用它。 如果脚本将在1分钟左右的时间内运行,您可能想延迟CURL请求。
请考虑使用RabbitMQ实现AMQP模型( http://www.rabbitmq.com/ )。 鉴于您所揭示的应用程序的上下文,这可能有点“过大”。
但是,如果您已经确定此消息传递系统肯定需要快速增长,则可以查看php-amqplib的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.