在我的理解中,当我想将一部电影(4gb)发送给Kafka代理时,一个制片人会将4gb字节的视频文件(序列化的)发送给Kafka代理,而许多想看该电影的消费者会使用该电影文件。
我听说netflix使用Kafka发送和观看电影。我很好奇他们是如何使用生产者、经纪人和消费者的。我用的是netflix,而且速度很快。我想知道他们如何使用Kafka(尤其是他们如何使用生产者和消费者)
据我所知,当发送一个视频文件时,你需要对它进行编码,然后序列化它来发送数据(在这种情况下,编码可能是序列化的?)我理解正确了吗?如果我遗漏了什么,你能给我一些提示和指导吗?
2条答案
按热度按时间v1uwarro1#
Kafka是一个“流媒体平台”,但它的目的是流数据,而不是流视频或音频。
当netflix使用kafka时,它不是向用户流式传输视频,而是在其后端处理事件,请参阅他们的技术博客。请注意,我不是netflix的员工,也没有任何内幕知识,这只是基于他们在博客和会议上公开披露的信息。
也就是说,它仍然可以发送一个视频文件使用生产者和消费者接收它,但我不认为这是你的想法。
mzaanser2#
netflix使用kafka作为其集中式数据沿袭解决方案的一部分。它不是使用Kafka编码,流视频内容。你可以阅读更多关于Kafka在这里是如何被使用的。
现在来回答你的问题,为什么它的视频流服务这么快。您将需要了解netflix如何利用aws资源(如ec2、s3等)来创建一个高度可伸缩、容错的微服务体系结构。
除此之外,netflix还与ISP合作,使用名为netflix open connect的程序对内容进行本地化。这样他们就可以
cache
本地的内容可以最大限度地减少延迟并节省计算时间。