什么是内容分发网络和分布式文件系统?

What is a Content Delivery Network and Distributed File System?

我正在努力扩展我在分布式系统和系统设计方面的知识。我遇到了 storing/handling 媒体数据(如音乐、视频、图片、gif 等)的内容交付网络和分布式文件系统等术语。

我了解到 DFS 只是我们笔记本电脑中的一个文件系统,它被复制到其他服务器(分布式)以使其 99.9% 可用。 CDN 是一个可以存储资产的网络,包括 javascript、图像、视频等。

现在,我在理解两者之间的区别以及在不同的用例中哪个更好用时感到很困惑?如果我对 CDN 和 DFS 本​​身的基本理解有误,请指正。提前致谢!

他们每个人都有自己的目的。

DFS:

分布式文件系统(DFS),顾名思义,虽然表现为本地文件系统(本地文件),但文件系统(部分文件)分布在多个服务器上。也就是说,它使客户端能够像在本地系统中一样访问和处理存储在服务器上的数据。 DFS 依赖于元数据并支持透明性、文件目录复制和容错机制,通过缓存最近访问的磁盘块和可伸缩性来提高性能。

主要DFS架构如下:

• 客户端-服务器架构——这应基于许多服务器管理,多个客户端之间的元数据和数据通过提供系统的全局命名空间来管理。

• 基于集群的架构——该系统将元数据和数据分离,这样一些服务器存储数据,一些服务器专用于管理元数据。基于集群的体系结构系统如果只有一个元数据服务器则应称为集中式系统,而如果它具有分布式元数据服务器则应称为分布式系统。

例如 HDFS (Hadoop DFS) 是 DFS 的类型,它属于集中式分布式文件系统的类别,因为有一个称为名称节点的服务器管理元数据,数据节点应保存拆分数据,分布式和复制.

在 DFS 的情况下, 它可以提高效率,同时团队/小组或各种应用程序/进程中的许多人在同一实例上处理一个巨大的文件,并平滑用户/高级应用程序的每日 activity,因为用户/应用程序不需要知道确切的文件路径或备份。它使多个用户能够利用基于高效、安全和健壮的文件系统的网络连接的多个 machines/hosts。

CDN:

CDN 使用部署在各种互联网骨干网中的服务节点,这些服务节点能够在空间上相对于最终用户分发服务,从而提高性能并确保高可用性。该算法选择最适合为特定请求的用户提供内容(基于跳距或负载)的 CDN 节点或边缘服务器。部署了许多技术,如反应式探测、主动式探测和连接监控,用于确定 CDN node/service 节点的接近度。

对于 CDN,许多内容提供商向 CDN 运营商付费,通过相应地放置服务节点/服务器将其内容交付给最终用户。 CDN 运营商反过来与 ISP 合作,通过向 ISP 付费,将其服务器托管在他们感兴趣的适当位置的数据中心。