编程语言
首页 > 编程语言> > javascript-mootools:我想在Facebook中实现类似于Big Pipe的架构

javascript-mootools:我想在Facebook中实现类似于Big Pipe的架构

作者:互联网

我正在开发mootools中的应用程序.我使用了Reqeust类来实现流水线化.
我想开发一种更好的方法来处理客户端服务器请求.我参考了以下文章,以了解在Facebook中大型管道的工作原理.

http://www.facebook.com/notes/facebook-engineering/bigpipe-pipelining-web-pages-for-high-performance/389414033919

在facebook中,任何服务器响应到达时都会调用javascript函数以更新数据用户屏幕. (请参见屏幕截图)

http://img815.imageshack.us/img815/5154/facebookna.jpg

如果我获得了这种架构的基本模型,则可以开始使用该架构构建应用程序
码.

有人可以给我提供这样的基本模型吗?

到现在为止,我已经设计了一种架构,在该架构中,response_data存储在全局变量中,然后再调用一个函数将数据更新到用户屏幕.(此处使用了同步请求)这非常慢.

那么哪种方法是更好的“同步或异步”?

解决方法:

首先,感谢您的阅读,这是一篇非常有趣的博客文章.

您可能想看看this libary,它受Facebook的BigPipe启发.注意:我不认可它,因为我从未使用过它,但是自己构建它并不容易.

关于同步和异步是否更好,这取决于.同步更简单-依赖关系显而易见,并且没有开销.异步仅在您的资源没有得到充分利用的情况下才是优势,并且您的处理过程很容易分解为独立的块.我无法告知您要做什么,因此您需要自己决定性能瓶颈的实际位置,以及是否设计架构应用程序以便可以并行下载,处理和呈现多个部分,这实际上会优点.

例如,如果您要下载单个海量数据块以在浏览器中呈现为表格,则将该数据拆分为多个并行下载将提高性能-以创建一些排队系统进行处理为代价有序响应.另一方面,尽管从技术上讲比较慢,但是将下载批量到同步块中,以便在请求下一个块之前先下载并渲染一个块,这仍然会给感知性能带来奇迹,并且是一种更简单的选择.

标签:mootools,javascript-framework,javascript
来源: https://codeday.me/bug/20191208/2093749.html