使用Azure Search Client清理DNS缓存
我的客户遇到了Azure搜索不足的情况。 问题是,Azure搜索通过切换DNS成功进行了故障转移。 但是,SDK保留了DNS缓存,因此短缺持续了一段时间。 根据Azure Search SDK的API,如果发生故障转移,似乎无法清除缓存。 在此博客文章中,我将说明如何使用Azure搜索客户端清除DNS缓存。 在Azure搜索SDK内,它们使用HttpClient。 一般来说,您的应用程序上应该只有一个HttpClient实例。 对于Azure函数或AppServices,需要缓存HttpClient以避免耗尽出站端口。 这意味着,我们无法重新创建HttpClient。 在这种情况下,我们可以使用SocketsHttpHandler配置两个属性。 SocketsHttpHandler支持连接ppling。 PooledConnectionIdleTimeout PooledConnectionLifetime 如果设置PooledConnectionIdleTimeout,则HttpConnectionPoolManager将创建一个计时器,该计时器将根据PooledConnectionIdleTimeout / 4(ScanvagesPerIdol)检查状态。…