客户端将文件发送到服务器的上下文,该文件已分块。
在单个服务器设置中,一个选项是将块存储在服务器上。当新的块到达时,它们将被添加到现有数据中。
在具有多个服务器“微服务”的情况下,可能会将请求发送到服务器A,然后再发送到服务器B。因此,当B使用新块时,它无法从A检索旧块。
处理此模式的最佳实践是什么? 到目前为止,我是
A)将有关文件A的请求路由到同一服务器 B)或者,将文件的大块存储在共享服务上
A)的问题在于,它开始失去拥有多台服务器的某些优势。
B)的问题是它需要来回传输更多文件。
是否有规范/标准的方式来处理此问题?
答案 0 :(得分:0)
通常,您不会将文件保存在部署了微服务的服务器上。在云环境中,出于这种目的,您将使用由云提供商提供的专用服务。 例如,对于AWS和Azure,将是:
AWS Amazon S3(Amazon简单存储服务)
Microsoft Azure Azure Storage
无论您是否将文件拆分为多个块,这些服务都将具有处理此选项的所有选项,因为存储将集中在一个位置。您无需担心内部如何扩展和处理它,因为云提供商会照顾到它。这就是他们将其作为服务提供的原因之一。
这是存储任何类型文件的常用方法。当然,配置文件等例外,但是通常您会使用这些服务。