【问题标题】:System architecture for a Real-time Dutch Auction system实时荷兰式拍卖系统的系统架构
【发布时间】:2016-07-02 14:33:39
【问题描述】:

我正在开发一款带有荷兰式拍卖和常规拍卖的应用。该网络应用程序使用 PHP 和 Jquery 编写,使用 Pusher API 进行实时交互,因为我对 Node.js 还不够熟悉,无法直接使用它。

在常规样式拍卖中,我没有真正的问题,因为每个客户的出价放置都会触发客户端 javascript 事件,客户将出价发布到服务器,然后服务器将新的出价推送给每个实时客户端。对于荷兰人来说,服务器在没有任何客户端事件的情况下不断地向所有客户端更新新价格,当它最终被客户端接受时,服务器将其报告给所有客户端。

在荷兰式拍卖中,价格逐渐下降,直到有人 接受出价,如果没有人在预设(低)阈值之前接受出价 达到时,价格会一次又一次地重置为其初始高值。

我不知道从服务器端广播新价格的最佳方式,因为价格会不时下降。新的价格是在服务器端决定的,变化的速度不一定是规律的。 一种解决方案可能是让每个客户端浏览器连续轮询服务器以检查是否有新价格,但我不确定这是否是最有效的方法,或者如何最好地做到这一点

请建议我实时执行此操作的正确方法?谢谢

【问题讨论】:

    标签: javascript php real-time long-polling pusher


    【解决方案1】:

    您可以在每次更新价格时使用 Pusher 广播价格。如果客户接受出价,他们应该以他们接受的价格向服务器发送 HTTP 请求。当服务器接收到这个客户端请求时,它应该使用 Pusher 广播另一个事件,以通知其他客户端投标已被接受。

    【讨论】:

    • 您可以在每次更新价格时使用 Pusher 广播价格。 谢谢,我明白这一点,但我应该设置 CRON 工作或其他什么来推出新价格?有没有更好的 RESTful 方式来安排广播?
    • 这取决于它们是如何更新的?是 CRON 工作吗?如果是这样,那么是的,你可以这样做。
    • 谢谢威尔。它们从数据库中获取,并以服务器端定义的不同时间步长进行更新。 CRON 会是进行更新的最佳方式吗?
    • 我想说,如果您希望更新以不同的时间间隔异步发生,那么您可以使用 CRON 进程来执行此操作,并广播新价格。
    • 谢谢。我想知道是否有更好的方法我不知道。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-09
    • 2014-11-27
    • 2013-08-20
    • 1970-01-01
    • 2022-08-20
    • 2010-12-17
    相关资源
    最近更新 更多