Home >Backend Development >PHP Tutorial >PHP消息队列问题
最近在做一个项目,项目里有些需求,简单描述就是:在发布文章并保存到数据库后,需要请求第三方的接口进行同步,同时需要向所有用户推送一条新文章的通知。
之前的实现都是直接在代码逻辑里同时完成接口请求和推送,但是网络情况差或者用户多的情况下,发布文章会很耗时。
最近接触了一些PHP的消息系统,想着可以用消息队列来实现,但是之前从来没有做过。个人想法是,加入使用redis队列,那么在发布文章时,先将该文章存入队列,然后从队列里获取文章,实现一个异步的发送或者同步。
有一个问题是,如何从队列获取数据,是做一个定时脚本还是做一个监听程序合适?
对于这个需求来说,大家有没有更好得实现方案。。。
最近在做一个项目,项目里有些需求,简单描述就是:在发布文章并保存到数据库后,需要请求第三方的接口进行同步,同时需要向所有用户推送一条新文章的通知。
之前的实现都是直接在代码逻辑里同时完成接口请求和推送,但是网络情况差或者用户多的情况下,发布文章会很耗时。
最近接触了一些PHP的消息系统,想着可以用消息队列来实现,但是之前从来没有做过。个人想法是,加入使用redis队列,那么在发布文章时,先将该文章存入队列,然后从队列里获取文章,实现一个异步的发送或者同步。
有一个问题是,如何从队列获取数据,是做一个定时脚本还是做一个监听程序合适?
对于这个需求来说,大家有没有更好得实现方案。。。
监听程序,我以前做过的项目是使用rabbitmq 使用java或者Python语言做一个consumer 能满足你的需求
beanstalkd
建议定时脚本,就可以满足,可以启用多个进程并行运行,加快队列处理速度。