发送视频文件时,生产者和消费者通常如何工作?

How do producers and consumers usually work when sending a video file?

据我所知,当我想将一部电影 (4GB) 发送给 Kafka 代理时,一个制作人将发送该 4GB 字节的视频文件(对其进行序列化)并将其发送给 Kafka 代理和许多消费者想看那部电影会消耗那个电影文件。

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

而且据我所知,发送视频文件时,需要编码,序列化才能发送数据。 (在这种情况下编码可能是序列化?)我没理解错吗?如果我遗漏了什么,你能给我一些提示和指导吗?

Kafka 是 "Streaming Platform",但它旨在用于流式传输数据,而不是用于流式传输视频或音频。

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

也就是说,仍然可以使用制作者发送视频文件并由消费者接收,但我认为这不是您想要的。

Netflix 使用 Kafka 作为其集中式数据沿袭解决方案的一部分。它不使用 Kafka 来编码、流式传输视频内容。您可以阅读有关如何使用 Kafka 的更多信息 here

现在回答您的问题为什么它的视频流服务如此之快。您需要了解 Netflix 如何利用 aws 资源,如 ec2、s3 and others to create a highly scalable, fault-tolerant microservice architecture.

除此之外,Netflix 还与 ISP 合作,使用名为 Netflix Open Connect 的程序对内容进行本地化。这允许他们在本地 cache 内容,从而最大限度地减少延迟并节省计算时间。