【问题标题】:transient fault handling with azure in a sustainable way以可持续的方式使用 azure 进行瞬态故障处理
【发布时间】:2016-02-24 09:38:26
【问题描述】:

缺少 Azure 文档,文章经常过时。

我了解到 Azure 服务(ServiceBusFileStorage...)的“瞬态故障处理”(TFH) 现在是完全管理。现在似乎在客户端没有什么可以实现的。过去,我们可以使用 Enterprise Library 来管理这些目的,但它已被淘汰。为了访问 SQL 数据库,为实体框架 (https://msdn.microsoft.com/en-us/data/dn456835.aspx) 实施了一项策略。

这是我的问题:

  • 是否有必要在 ServiceBusFileStorage 上使用 Azure SDK 才能受益于现在在 Azure 上实施的策略?
  • 使用非 EF 访问数据时如何管理 TFH?

我们需要确保我们的组件(使用 WebClient、原始 ADO.NET...)将以可维护的方式正确运行。

【问题讨论】:

  • I've read that "Transient Fault Handling" (TFH) for Azure services (ServiceBus, FileStorage...) is now fully managed. It seems now there is nothing to implement on the client side. - 你能分享你读过这篇文章的链接或来源吗?
  • 我得到了一些回复您的评论。 :-) 这是链接:4 - Perseverance, Secret of All Triumphs The Azure Storage Client Library version 2 includes retry policies for Azure Storage Services and it is recommended that you use these built-in policies in preference to the Transient Fault Handling Application Block. 所以,我想 Azure 存储客户端库版本 2,因为它嵌入了内置策略,现在是访问 Azure 服务的推荐方式?

标签: c# entity-framework azure azure-sql-database azure-sdk-.net


【解决方案1】:

我已阅读 Azure 服务的“瞬态故障处理”(TFH) (ServiceBus、FileStorage...)现在是完全托管的。现在好像在那里 无需在客户端实现。

这是不正确的。该服务本身不会处理瞬态错误。处理瞬态错误是客户端的责任。如果您查看存储客户端库(>= 2.0 版),您会发现那里的重试策略可以指示您的客户端代码处理瞬态错误。

现在来回答你的问题:

是否需要在 ServiceBus 和 FileStorage 上使用 Azure SDK 受益于现在在 Azure 上实施的策略?

当然没有必要使用 SDK 来处理暂时性错误,但它们可以让您的工作更轻松。 SDK 提供了多种处理瞬态错误的方法(此外,您可以扩展 SDK 中可用的功能以提出您自己的瞬态处理策略)。为了详细说明,让我们考虑存储客户端库,它是 Azure 存储 REST API 的包装器。现在这个库已经定义了哪些错误应该被认为是暂时的(HTTP 状态代码 500+),哪些错误不应该被认为是暂时的(HTTP 状态代码 400 - 499)。此外,它带有不同类型的重试逻辑 - 指数(默认)、线性或无。作为开发人员,您可以决定在出现暂时性错误时应使用什么重试逻辑,并将其融入您的代码中。如果您没有使用这些 SDK,则一切都需要由您完成,从哪些错误应被视为暂时性错误以及应如何实现重试开始。 SDK 让您的工作更轻松。

在使用某些东西访问数据时如何管理 TFH 那不是英孚吗?

如果您在使用 ADO.Net 时遇到异常,您可以查看服务返回的 ErrorCode 并确定错误是否是暂时的。有关 SQL 错误代码列表,请参阅此链接:https://azure.microsoft.com/en-in/documentation/articles/sql-database-develop-error-messages/。我还强烈建议您阅读这篇文章以及如何实施自己的 TFH:https://azure.microsoft.com/en-in/documentation/articles/sql-database-connectivity-issues/

【讨论】:

  • 非常感谢,很好的回应。
猜你喜欢
  • 2015-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多