帮酷LOGO
  • 显示原文与译文双语对照的内容
文章标签:DEMO  Netflix  构建  路由器  route  LIKE  
A demonstration of how to build a Router for a Netflix-like application

  • 源代码名称:falcor-router-demo
  • 源代码网址:http://www.github.com/Netflix/falcor-router-demo
  • falcor-router-demo源代码文档
  • falcor-router-demo源代码下载
  • Git URL:
    git://www.github.com/Netflix/falcor-router-demo.git
  • Git Clone代码到本地:
    git clone http://www.github.com/Netflix/falcor-router-demo
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/Netflix/falcor-router-demo
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
  • Falcor路由器演示

    这个项目为netflix的应用导出一个路由器工厂。 路由器为netflix类似应用程序创建一个虚拟JSON图形对象,目的是在 node 应用服务器上公开为JSON资源。 JSON图形对象被称为"虚拟",因为它没有存储在内存中。 相反,路由器通过访问三个不同的数据库来构建请求的JSON图的子集。 这会造成应用服务器上存在一个JSON资源,当应用服务器完全无状态并从数据存储中检索请求的数据 on-the-fly 。

    用于Netflix的虚拟JSON图形对象

    当会员登录Netflix应用程序时,他们会看到一个个性化的流派列表,其中每一个都包含一个个性化。

    Netflix Homepage

    路由器创建一个JSON图形对象来建模Netflix领域模型:

    {
     genrelist: [
     {
     name:"Horror",
     titles: [
     { $type:"ref", value: ["titlesById", 234] },
     // more title references snipped ]
     },
     // more genre lists snipped ],
     titlesById: {
     234: {
     "name":"Blitz",
     "year":2011,
     "description":"With a serial killer on the loose...",
     "rating":1.7,
     "boxshot":"http://cdn.test.nflximg.net/images/9236/1919236.jpg",
     "userRating":5 },
     // many more titles snipped }
    }

    事实上,上面的JSON图形中的数据是从几个不同的源检索的:

    Different Data Sources

    每个Netflix用户都得到不同的个性化推荐。 这是通过将Netflix路由器构造函数传递给一个可选的用户标识参数来实现的。

    // The only user in the database has an ID of string"1"var router =require('falcor-router-demo')("1");

    在路由中,没有向路由器提供用户标识,就像在内存中一样,路由器允许你从这个JSON图形对象中检索数据。 建议数据库中目前只有一个用户,它的用户ID是字符串" 1"。

    重要信息

    这是如何使用路由器创建虚拟JSON图形的演示。 它并不打算作为一个全面的例子,你应该部署到生产。 因为PouchDB不需要服务器并且易于部署,所以选择了。 实际上大多数实现将从数据库服务器中检索数据。 授权( 可能是一些令牌系统) 也是一个留给用户的练习。



    文章标签:构建  DEMO  LIKE  route  路由器  Netflix  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语