采访:设计Netflix软件堆栈

时间:2014-05-29 22:52:29

标签: architecture cloud backend

我最近在一次采访中被问到这个问题,并不知道如何回答这个问题。

几个基本想法:

  • API调用以了解要抓取的流
  • 存储大量视频数据,需要能够非常快速地为其提供索引以向用户提供他们的电影
  • 客户端加载视频
  • 在视频中寻求3/4前进,如何从那里加载视频(发送提供视频ID的api呼叫,以及时间即1:34:00,呼叫将从那里提供流?)

有关如何解决这类问题的提示吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

从您的示例中可以看出,他们没有指定他们感兴趣的Netflix端到端解决方案中的哪个组件,或者即使它只是客户端或服务器端。

如果这是正确的,那么问题可能更多的是看你如何处理这样的问题,在这种情况下,你打破它是一个良好的开端。

Netflix客户端可在各种设备上运行,并且所有设备都不会有单个软件堆栈。

netflix视频分发方在很大程度上依赖于内容分发网络(CDN),它本质上是一个网络,可以让内容接近用户,因此用户可以通过常规互联网访问内容以获取内容的最后一点。 CDN将包含许多不同的软件堆栈。

在服务器或头端方面,Netflix将有许多不同的系统来存储内容,存储有关内容的元数据,存储用户帐户信息,存储性能和分析信息,将内容转码为各种格式需要在等等中提供它,所以再次不会只有一个堆栈。

总之,希望问题的目的不是得到一个确切的答案,而只是为了看看你是如何接近它的(或者它可能只是一个糟糕的问题!)。

(不,我不能为Netflix工作!)。

答案 1 :(得分:1)

他们的架构相当开放。这可能是一个很好的起点:http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html