dot Redis 8 来了——而且是开源的

了解更多

6.6 使用 Redis 分发文件

返回首页

6.6 使用 Redis 分发文件

在构建分布式软件和系统时,通常需要在多台机器上复制、分发或处理数据文件。 使用现有工具,有几种不同的常用方法可以做到这一点。 如果我们有一个始终具有要分发文件的单个服务器,那么使用 NFS 或 Samba 挂载路径或驱动器是很常见的。 如果我们有内容一点一点变化的文件,那么使用一种叫做 Rsync 的软件来最大限度地减少系统之间传输的数据量也很常见。 有时,当需要在机器之间分发许多副本时,可以使用一种名为 BitTorrent 的协议,通过将文件部分分发到多台机器来减少服务器上的负载,然后这些机器在它们之间共享它们的部分。

不幸的是,所有这些方法都有很高的设置成本,并且价值在某种程度上是相对的。 NFS 和 Samba 可以很好地工作,但是当网络连接不完美(或者即使它们是完美的)时,两者都可能存在严重问题,因为这两种技术通常与操作系统集成的方式。 Rsync 旨在处理间歇性连接问题,因为每个文件或文件集可以部分传输和恢复,但它需要下载完整文件才能开始处理,并且需要将我们的软件与 Rsync 接口才能获取文件(这可能不是问题)。 尽管 BitTorrent 是一项了不起的技术,但它只有在达到从服务器发送的限制或网络未被充分利用时才真正有帮助。 它还依赖于将我们的软件与并非在所有平台上都可用的 BitTorrent 客户端接口,并且该客户端可能没有方便的方法来获取文件。

上述三种方法中的每一种都需要设置和维护用户、权限和/或服务器。 因为我们已经安装、运行并可以使用 Redis,所以我们将使用 Redis 来分发文件。 通过使用 Redis,我们绕过了某些其他软件存在的问题:我们的客户端可以很好地处理连接问题,我们可以直接使用我们的客户端获取数据,并且我们可以立即开始处理数据(无需等待整个文件)。