根据我的理解,当我想向Kafka经纪人发送一部电影(4GB)时,一个制作人将发送一个4GB字节的视频文件(序列化它)并将其发送给kafka经纪人和许多希望看电影的消费者将使用该电影文件。
我听说Netflix使用Kafka发送和观看电影。我很好奇他们如何使用生产者,经纪人和消费者。我正在使用Netflix,它真的很快。我想知道他们如何使用Kafka。(特别是他们如何使用生产者和消费者)
据我所知,在发送视频文件时,您需要对其进行编码,并对其进行序列化以发送数据。 (在这种情况下,编码可能是序列化?)我理解正确吗?如果我遗失了什么,你能给我一些提示和指导吗?
Netflix使用Kafka作为其集中数据沿袭解决方案的一部分。它没有使用Kafka来编码,流式传输视频内容。你可以阅读更多关于如何使用卡夫卡here。
现在回答你的问题,为什么它的视频流服务如此之快。你需要了解Netflix如何利用像ec2,s3 and others这样的aws资源来创建一个高度可扩展,容错的microservice architecture.
除此之外,Netflix还与ISP合作,使用名为Netflix Open Connect的程序对内容进行本地化。这允许他们在本地cache
内容,这最小化延迟并节省计算。
Kafka是一个“流媒体平台”,但它用于流式传输数据,而不是用于传输视频或音频。
虽然Netflix正在使用Kafka,但它不是将视频流式传输给用户,而是在后端处理事件,请参阅他们的technology blog。请注意,我不是Netflix的员工,也没有任何内幕知识,只是基于他们在博客和会议上公开披露的信息。
也就是说,仍然可以使用制作人发送视频文件并与消费者一起接收,但我不认为这是你的想法。