关于设计Netflix的几个问题



    1. 根据PPT里给出的架构 (business logic那一页,P31), 只有一个web proxy在和浏览器进行交互,把不同的request分发给后端个各个service component。这样会不会造成proxy的逻辑过于复杂以及负载过重?还是说,这个层面上其实是有多个不同的proxy,在分别负责不同的request/response, 然后统一打包,通过某个primary proxy传回给用户?

    2. 除了平时的高峰期,Netflix在公共假日期间应该会出现比平时更大的高峰期流量。这种情况下都是如何做scaling projection,进而保证所有上线用户都能够有一个比较好的体验呢?

    3. 关于Caching,我想过好几个可能的地方,但都被自己否决了。但是用户这么多的系统,不做cache是不可能的。想听听老师的想法,在什么位置,什么情况下做cache才能保证有效呢?我想过以下几种方案

      • Cache movie info, 把最近被调用的n条信息cache住,然后LRU eviction. 问题在于,这只对某段时间内非常火的电影,或者置顶首页的电影有效,其他情况下基本都会cache miss
      • Cache movie play info. 这个感觉没法实现也没什么用,毕竟不同用户access的file sever都不一样,cache整个file太大了,cache fragment又要考虑怎么拼起来
      • Cache user info. 调出浏览器Cookies就好了
      • Cache comment. 假设每条comment有一个unique id, 把电影的id和相对的comment id list 给cache起来。这里的问题和cache movie info 相似

登录后回复
 

与 BitTiger Community 的连接断开,我们正在尝试重连,请耐心等待