我正在开发一个可以获得巨大流量的PHP Web界面.某些插入/更新请求将包含必须调整为一些常见大小的图像,以加快其进一步检索.
一种方法是在服务器上设置一些异步队列.例如.在数据库中设置一个表,其中包含一个将由PHP请求填充的任务队列,并让服务器上的其他进程监视该表并处理任何等待的任务.你会怎么做?这个长期运行过程的适当环境是什么?Java,或者更轻松的东西会做什么?
如果你正在做的事情真的很高,那么你正在寻找的是像豆子一样的东西.它是一个分布式工作队列处理器.你只是把一份工作放在队列上然后忘了它.
当然,你需要在另一端读取队列并处理工作.有多种方法可以做到这一点.
最简单的可能是拥有一个足够经常运行的cron作业来读取工作队列并处理请求.或者,您可以使用某种持久性守护程序进程,该进程可通过工作变为可用而被唤醒.
这种方法的优点是您可以定制工作者数量以完成需要完成的工作量,并且beanstalkd处理分布式prorcessing(在列表中可以位于不同计算机上的意义上).