azure - Windows Azure - 自动负载平衡 - 分区

标签 azure azure-storage azure-blob-storage

我正在浏览一些视频。我发现 Windows Azure 会根据分区键将 blob 分组到分区中,并自动在其服务器上对这些分区进行负载平衡。 Blob 的分区键是 Blob 名称。使用 blob 名称,azure 将自动进行分区。

现在,我的问题是,我可以让 azure 根据容器名称进行分区吗?我希望我的分区键是容器名称。

例如,我有一个存储帐户。其中我有 2 个名为 container1container2 的容器。在container1中,我有1000个名为1.txt、2.txt、3.txt、.......、501.txt、502.txt、..... 999.txt、1000的文件。 txt 在container2中,我还有另外1000个名为1001.txt、1002.txt、1003.txt、.......、1501.txt、1502.txt、...的文件。 .1999.txt、2000.txt

现在,Windows Azure 会根据 blob 名称生成 2000 个分区并通过多个服务器为我服务吗???

如果 Azure 根据容器名称进行分区不是更好吗?一台服务器上的container1 和另一台服务器上的container2。

最佳答案

这取决于你所说的更好是什么意思。如果您为单独的服务器和硬盘驱动器付费,我可能会同意您的观点 - 但使用 azure 存储,您只需为您使用的空间大小付费。如果他们选择将其分布在多台计算机上以获得最佳性能(目标 blob 访问性能为“高达 60 MB/秒”),那么这与您的账单无关。

只是好奇,为什么你认为拥有更多分区不好?对我来说,文件访问似乎是一件好事。

如果我想要提供最具可扩展性的访问权限的 2000 个文件,我认为将这 2000 个文件分布在 2000 台计算机/硬盘上将是性能最佳且可扩展的解决方案...而不是 2 个服务器/硬盘(如果翻倍到 4000 会发生什么?)。

我发现这篇 blob 文章内容非常丰富(尤其是底部的分区和可扩展性以及性能目标部分下的区域):Windows Azure Storage Abstractions and their Scalability Targets

关于azure - Windows Azure - 自动负载平衡 - 分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2863508/

相关文章:

java - azure应用程序服务上的spring boot应用程序在启动后立即停止

azure - 如何在 Microsoft Azure Functions 中将 DocumentDB 数据库输入绑定(bind)与服务总线触发器绑定(bind)和 BrokeredMessage 结合使用?

Azure CLI : storage blob delete-batch to delete all blobs excluding two directories

azure - 在 Azure 数据工厂中使用 DB2 的 REST API 将文件作为附件发送

java - 创建 Producer 方法时收到模糊依赖警告

azure - 使用 PowerShell 列出 blob、文件、表、队列的已用空间?

C# Azure Blob 存储/获取 blob 大小

如果 Blob 名称存在,Azure Blob 上传重命名

适用于一个容器的 Azure SAS

python - 如何使用 Azure Python SDK 为容器创建共享访问签名