我正在开发一个需要每天进行数千次Facebook API调用的项目。所有这些数据都需要存储在数据库中,然后基于PHP Laravel的网站就可以使用它。但是,我担心PHP不是解决这个问题的正确语言,因为基本上我想要的是每小时拨打Facebook允许的次数,但是要分散,以便负载良好且平衡。
我听说Ruby与Sidekiq结合使用,但我真的不熟悉这种方法的优点和缺点。这是我要找的吗?还是有另一种方法可以更好地满足我的需求吗?
答案 0 :(得分:2)
如果你想要“shardability”(意味着你想在多个进程之间平均分配负载),那么PHP实际上可能是错误的语言。但是,我想,这取决于你试图处理的电话数量和复杂程度。
我为
的组合找到了类似任务的解决方案使用NodeJS和MongoDB作为组件的好处是,它们都可以以本机方式处理来自Graph API的JSON结果,这意味着您不必以任何方式转换JSON数据使用/存储它。这是速度的一个好点,并且由于NodeJS事件循环的异步特性,您可能比使用PHP进程处理更多的负载。