Azure的服务总线:瞬态错误(例外)通过与内置重试政策消息泵好评。为什么? [英] Azure Service Bus: transient errors (exceptions) received through the message pump with built-in retry policy. Why?

查看:220
本文介绍了Azure的服务总线:瞬态错误(例外)通过与内置重试政策消息泵好评。为什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在阅读上事件驱动的消息编程模型 2013年4月出台的<一个href=\"http://msdn.microsoft.com/en-us/library/azure/microsoft.servicebus.messaging.onmessageoptions.exceptionreceived.aspx\"相对=nofollow> OnMessageOptions.ExceptionReceived事件,内置的 RetryPolicy (2013年5月,RetryPolicy.Default)的瞬态故障处理应用程序块(2011年),这是过时的,多(参见下图)。

I've been reading on the Event-Driven Message Programming Model introduced in April 2013, the OnMessageOptions.ExceptionReceived Event, the built-in RetryPolicy (May 2013, RetryPolicy.Default), The Transient Fault Handling Application Block (2011) which is outdated, and more (see bottom).

我已经通过监测瞬时误差消息泵收到的例外,我得到的每日 MessagingCommunicationExceptions 。这文章(更新日期:2014年9月16日),建议以下内容:

I've been monitoring the exceptions received through the message pump for transient errors and I get daily MessagingCommunicationExceptions. This article (Updated: September 16, 2014), recommend the following :

这个异常信号,它们可以体现出来通信错误
  当从消息客户端的服务总线连接
  基础设施不能成功建立。在多数情况下,
  提供的网络连接存在,该错误可以作为被处理
  短暂的。客户端可以尝试重试具有操作
  导致这种类型的异常。此外,还建议你
  验证域名解析服务(DNS)是否运行
  因为这个错误可能表明该目标主机名称不能
  解决了。​​

This exception signals a communication error that can manifest itself when a connection from the messaging client to the Service Bus infrastructure cannot be successfully established. In most cases, provided network connectivity exists, this error can be treated as transient. The client can attempt to retry the operation that has resulted in this type of exception. It is also recommended that you verify whether the domain name resolution service (DNS) is operational as this error may indicate that the target host name cannot be resolved.

我的理解是,有没有额外的code写在服务总线处理瞬态错误2.1版(2013年)之后。除非我的premise是错的,为什么我每天接待的每个瞬间的错误和?应通过消息泵收到异常被忽略?如果忽略了,我只能假设,意外的异常也将被忽略..和我不希望这样的事情发生,当然。

My understanding is that there is no extra code to write to handle transients errors on the Service Bus after version 2.1 (2013). Unless my premise is wrong, why am I receiving transients errors each and every day? Should exceptions received through the message pump be ignored? If ignored, I can only assume that unexpected exceptions will also be ignored.. and I don't want that to happen of course.

Microsoft.ServiceBus的版本是2.4.0.0

同样有趣的:<一href=\"http://stackoverflow.com/questions/22768943/upgrading-windows-azure-service-bus-from-1-x-to-2-0-retry-policy\">upgrading Windows Azure的服务总线从1.x的2.0 - 重试政策,<一个href=\"http://fabriccontroller.net/blog/posts/introducing-the-event-driven-message-programming-model-for-the-windows-azure-service-bus/\"相对=nofollow>介绍了Windows Azure的服务总线事件驱动的消息编程模型的最新的SDK天青2.0发行(2013年4月),的什么在服务总线2.1版本的新功能(2013年5),的瞬态故障处理

Also of interest : upgrading Windows Azure Service Bus from 1.x to 2.0 - Retry Policy, Introducing the Event-Driven Message Programming Model for the Windows Azure Service Bus, What's New in the Azure SDK 2.0 Release (April 2013), What's New in the Service Bus 2.1 Release (May 2013), Transient Fault Handling.

推荐答案

正式答复<一个href=\"https://social.msdn.microsoft.com/Forums/azure/en-US/cf60ace8-5376-43dc-af0c-c601761a7585/daily-transient-errors-received-through-the-message-pump-with-builtin-retry-policy-why?forum=servbus\"相对=nofollow>此处。总之,例外鼓泡监测目的后重试。在长:

Officially answered here. In short, exceptions are bubbled for monitoring purpose after retry attempts. In long:

瞬态异常你exceptionHandler的回调手段获得
  这些异常重试次数后bubled起来。你应该只
  记录它监控的目的。如果需要采取行动。对于
  eample,如果你的客户失去网络连接,你应该期望
  大量的通信通过例外处理程序出血。
  在这种情况下,你可能需要采取适当行动来解决的事情。所以
  回答问题:我应该忽视他们?实际上取决于
  条件。 - Serkant Karaca的,微软

The transient exceptions you get from ExceptionHandler callback means those exceptions are bubled up after retry attempts. You should just log it for monitoring purposes. Take action if you need to. For eample, if your client loses network connectivity you should expect large number of communication exceptions bleeding through the handler. In such cases you may need to take proper actions to fix things. So the answer to question "should I ignore them?" really depends on conditions. - Serkant Karaca, Microsoft

这篇关于Azure的服务总线:瞬态错误(例外)通过与内置重试政策消息泵好评。为什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆