【问题标题】:Why is Microsoft Azure Websites using block blobs instead of append blobs for logs为什么 Microsoft Azure 网站对日志使用块 Blob 而不是附加 Blob
【发布时间】:2016-10-12 19:19:15
【问题描述】:

我对为什么 Microsoft Azure 更喜欢“块 blob”而不是“附加 blob”进行应用程序日志记录感到困惑。

据我了解,使用“附加 blob”,客户端可以简单地将一行文本附加到 blob,而无需将任何块下载到客户端。

附加到“块 blob”涉及下载块 ID 或内容并附加到该客户端,然后将其写回 blob。涉及更多工作。

为什么 Microsoft Azure 没有在他们自己的实现中使用预期的写入日志的方法?使用“附加 blob”进行日志记录有什么注意事项吗?

【问题讨论】:

  • 纯粹是推测性的答案 - 这背后的原因很可能是网站的日志记录早于 Append Blobs 并且团队尚未进行更改。但是附加 blob 非常适合记录场景。您可能会从 Azure 网站团队的某个人那里得到明确的答案。

标签: azure azure-storage azure-web-app-service azure-blob-storage


【解决方案1】:

确切地说,附加 blob 是相当新的,而带有块 blob 的日志记录解决方案可以追溯到很久以前。由于这个遗留问题和它引入的所有当前依赖项,现在很难改变它。

【讨论】:

  • 正如@gaurav 在问题下的评论中所说:这纯粹是猜测。
【解决方案2】:

根据我的经验,附加 blob 会产生一些开销 以及可以附加多少次的限制。 典型的日志有很多行一一添加。

当追加的数量变得不平凡时,阅读变得非常缓慢。 显然附加 blob 是内部的某种链表。 总之,更新块或页 blob 的实际字节对性能更好。

另外,Append blob 更新,日志可能是 Azure 上的首批功能之一。

如果有一些公共 API 或库会很有用 这可以通过更新 blob 来隐藏模拟附加的复杂性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-11
    • 2020-08-01
    • 2015-03-18
    • 2013-02-01
    • 1970-01-01
    • 2014-02-03
    • 2019-03-10
    • 2021-03-25
    相关资源
    最近更新 更多