制片人和消费者通常在发送视频文件时如何工作?

时间:2019-03-27 01:52:14

标签: apache-kafka kafka-consumer-api producer-consumer kafka-producer-api producer

据我了解,当我想将电影(4GB)发送给Kafka经纪人时,一个制片人将把4GB字节的视频文件(序列化)发送给kafka经纪人和许多想要看到电影会消耗该电影文件。

我听说Netflix使用Kafka发送和观看电影。我很好奇他们如何使用生产者,经纪人和消费者。我正在使用Netflix,而且速度非常快。 我想知道他们如何使用Kafka。(尤其是他们如何使用生产者和消费者)

据我所知,在发送视频文件时,您需要编码并序列化以发送数据。 (在这种情况下,编码可能要序列化吗?)我是否正确理解?如果我缺少什么,可以给我一些提示和指导吗?

2 个答案:

答案 0 :(得分:7)

Netflix将Kafka用作其集中式数据沿袭解决方案的一部分。它没有使用Kafka来编码和传输视频内容。您可以详细了解here如何使用Kafka。 enter image description here

现在要回答您的问题,为什么其视频流服务如此之快。您需要了解Netflix如何利用ec2,s3 and others之类的AWS资源来创建高度可扩展,容错的microservice architecture.

在此Netflix之上,ISP与ISP合作使用名为Netflix Open Connect的程序对内容进行本地化。这样一来,他们就可以cache在本地使用内容,从而最大程度地减少延迟并节省计算量。

enter image description here

答案 1 :(得分:2)

Kafka是一个“流媒体平台”,但它旨在用于流数据,而不是用于流传输视频或音频。

虽然Netflix使用的是Kafka,但不是将视频流传输给用户,而是在后端处理事件,请查看其technology blog。请注意,我不是Netflix的员工,也不具有任何内部知识,这只是基于他们在博客和会议上公开披露的信息。

也就是说,仍然可以使用制作人发送视频文件并与消费者一起接收它,但我认为这不是您要考虑的。