0

我们有一项服务将数据放入服务总线队列。我们为此实施了重试策略。但根据 Windows Azure 团队的说法,队列可能会下降 1-3 分钟。所以我们应该有重试策略,应该尝试超过 3 分钟。

如果我们将重试 3 分钟,则等待响应的客户端将超时,因为默认超时为 60 秒。如果我们将增加超时时间,那么客户必须等待 3 分钟以防中断。

实现此方案的最佳方法是什么?

a. Should we keep client waiting? which will not be good experience for Client.

b. Should we keep timeout same , but then client will retry and we will have duplicate records?

建议?

4

1 回答 1

0

这是一个一般场景,需要遵循的基本规则之一是任何客户端都不应被允许等待。

所以根据我的理解和建议,你可以做的是: 1.检查队列中是否有请求。2. 如果 1 为真不重试 3. 如果 1 为假重试

超时也是一个很好的异常,可以抛出给客户端或任何用户友好的消息(您将需要一种新方法)。

关键是客户应该知道一切,如果他在等待,如果他不在队列中,或者如果他在队列中,那么只有你可以创建健壮和用户友好的应用程序

于 2013-05-31T07:01:48.537 回答