Home  >  Article  >  Backend Development  >  PHP消息队列问题

PHP消息队列问题

WBOY
WBOYOriginal
2016-06-06 20:30:031254browse

最近在做一个项目,项目里有些需求,简单描述就是:在发布文章并保存到数据库后,需要请求第三方的接口进行同步,同时需要向所有用户推送一条新文章的通知。

之前的实现都是直接在代码逻辑里同时完成接口请求和推送,但是网络情况差或者用户多的情况下,发布文章会很耗时。

最近接触了一些PHP的消息系统,想着可以用消息队列来实现,但是之前从来没有做过。个人想法是,加入使用redis队列,那么在发布文章时,先将该文章存入队列,然后从队列里获取文章,实现一个异步的发送或者同步。

有一个问题是,如何从队列获取数据,是做一个定时脚本还是做一个监听程序合适?

对于这个需求来说,大家有没有更好得实现方案。。。

回复内容:

最近在做一个项目,项目里有些需求,简单描述就是:在发布文章并保存到数据库后,需要请求第三方的接口进行同步,同时需要向所有用户推送一条新文章的通知。

之前的实现都是直接在代码逻辑里同时完成接口请求和推送,但是网络情况差或者用户多的情况下,发布文章会很耗时。

最近接触了一些PHP的消息系统,想着可以用消息队列来实现,但是之前从来没有做过。个人想法是,加入使用redis队列,那么在发布文章时,先将该文章存入队列,然后从队列里获取文章,实现一个异步的发送或者同步。

有一个问题是,如何从队列获取数据,是做一个定时脚本还是做一个监听程序合适?

对于这个需求来说,大家有没有更好得实现方案。。。

监听程序,我以前做过的项目是使用rabbitmq 使用java或者Python语言做一个consumer 能满足你的需求

beanstalkd

建议定时脚本,就可以满足,可以启用多个进程并行运行,加快队列处理速度。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn