php - 实时竞价系统使用什么技术?

标签 php ajax comet

http://www.bidzinga.com/

http://www.bidbass.com/

他们是否使用 COMET 技术?

您建议使用什么,并且可能是关于如何使用建议的技术实现它的简单描述?

最佳答案

Hi what ajax technology does these sites use?

我快速检查了 Bidzinga 的源代码,看起来他们只是在做简单的轮询(频繁!)。例如,在这个 javascript 文件(http://www.bidzinga.com/js/default.js)中,我展示了频繁轮询的部分:

setInterval(function(){
                var gettime = '/gettime.php?' + new Date().getTime();
                $.ajax({
                    url: gettime,
                    success: function(data){
                        bidOfficialTime.html(data);
                    }
                });
            }, 1000);

如果你问我,这是一个非常糟糕的方法,并且会在负载下杀死你的服务器。如果您可以看到使用 PHP(/gettime.php) 的服务器没有 APC (您至少需要安装/编译它以获得良好的性能)然后您可以打赌服务器无法应对,因为每次 PHP 都需要编译字节码。当不使用 APC 或任何内存数据库(Redis、Memcached)时,它还需要从磁盘(有时缓存)获取每个请求。即使频繁轮询从来都不是一个聪明的方法,而且您可以确定您的服务器会在负载下死机。


Are they using COMET technology?

Bidzinga 没有使用 COMET,因为它使用普通轮询。

What do you recommend to use, and probably a simple description on how to implement it using the suggested technology?

我想这取决于你的规模(大小)。

托管解决方案

但我认为一开始我会建议您使用 pusher因为它是一个托管解决方案,有很好的文档记录,甚至还有免费计划。

Our free Sandbox plan includes up to 20 connections and 100,000 messages per day

我必须提醒您,免费/廉价计划没有 SSL,因此您绝不应该通过网络发送任何私有(private)信息。更大的价格计划确实有 SSL,但每月收费 50 美元。我认为如果你自己实现这个你可以更便宜,但是这又会花费你时间(时间等于金钱)。以下是一些可能适合您的其他托管解决方案:

开源产品:

首先我想提一下,这些都不是 PHP,因为我不认为 PHP 是为处理这个问题而设计的。即使是完全是 PHP 商店的 Facebook(现在大量使用 HipHop)也同意我的看法并实现了 chat using erlang .对于这些记录良好的开源产品,您将需要 VPS。对于其中一些人来说,如果您可以以 root 身份安装软件,那真是太好了。虽然并非所有这些产品都需要 VPS,但您应该具备编译软件的能力。

关于php - 实时竞价系统使用什么技术?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6634522/

相关文章:

http - 如何停止在浏览器中缓冲流式 Comet 通信

javascript - 将两个下拉列表的选定值发送到 PHP 脚本,而不使用 AJAX 提交

php - 使用 HTACCESS 将斜杠后的文本转换为变量

JavaScript 水平旋转器

ajax - Blueimp jQuery 文件上传按钮触发

ajax - 在手机上运行的 Web 应用程序与服务器之间进行实时双向通信的最佳解决方案是什么?

php - cometd 是如何工作的?如何编写个人对个人的 cometd 聊天应用程序

php - 在 PHP 中使用 CSS div

php - 为什么 Mandrill 电子邮件不从开发服务器(本地主机)发送?

javascript - 如何从异步调用返回响应?