【事件中心 Azure Event Hub】关于EventHub中出现Error时候的一些问题(偶发错误,EventHub后台升级,用户端错误,Retry机制的重要性)
请问对偶发的定义是多少频率?
针对偶发的定义,主要是看发生的时间非常短,次数极少(如 10次以内),并且发生的时候EventHub其他分区或其他连接都是正常接收和发送数据。所以对于频率是没有明确的定义的,这个需要根据每次发生的情况来分析。由于Event Hub SDK都考虑了这样短暂出现连接性的情况,所以默认都启动了重试机制。这样能解决绝大多数的连接异常问题。
连接问题重连成功的最短间隔是多少?请问有没有经验值?
在查看源码发现默认的Timeout时间设置为60秒,关于最短时间并没有文档明确说明。这里需要从业务上来判断。以防万一,在极端情况下也需要考虑时效过期的情况。
Server Error的详细内容
一般server error并不需要太关注,这个并不意味着service bus会丢失目前处理的情况,客户端SDK会自动重试。
关于server error的介绍github上也有文档说明
User Error的详细内容
通常来讲,发生在客户端的异常都归为是User Errors。而关于客户端发生异常的分类,可以参考SDK中对Exception部分的介绍:https://azuresdkdocs.blob.core.windows.net/$web/java/azure-messaging-eventhubs/5.0.0-beta.6/overview-summary.html#common-exceptions
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!