我们有一项服务将数据放入服务总线队列。我们为此实施了重试策略。但是根据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?
建议?
答案 0 :(得分:0)
这是一般情况,需要遵循的基本规则之一是不允许任何客户等待。
根据我的理解和建议,你可以做的是: 1.检查队列中是否有请求。 2.如果1为真,请勿重试 3.如果1是错误的重试
此外,超时是一个很好的例外,可以抛给客户端或任何用户友好的消息(你需要一个新的方法)。
点是客户应该知道一切,如果他正在等待,或者如果他不在队列中或者如果他在队列中,那么只有你可以创建健壮和用户友好的应用程序