/// <summary>
        /// 依据服务和负载均衡策略查找可调用的服务
        /// </summary>
        /// <param name="service"></param>
        /// <param name="serviceName">要查找的服务名称</param>
        /// <param name="balanceMethd">所用的负载均衡算法</param>
        /// <param name="httpclientName">polly客户端名称,除非存在多个,否则用more你的就好</param>
        /// <returns></returns>
        public static async Task <HttpClient?> Find(this IConsulDiscoveryService service, string serviceName, LoadBalanceMethod balanceMethd = LoadBalanceMethod.Random, string httpclientName = "micro")
        {
            if (string.IsNullOrEmpty(serviceName))
            {
                throw new ArgumentException("message", nameof(serviceName));
            }
            try
            {
                var factory  = service.ServiceProvider.GetService <IHttpClientFactory>();
                var cataglog = await service.FindBalance(balanceMethd, serviceName);

                if (cataglog != null)
                {
                    var client = factory.CreateClient(httpclientName ?? "micro");
                    client.BaseAddress = new Uri(cataglog.ServiceAddress + ":" + cataglog.ServicePort);
                    return(client);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception err)
            {
                Debug.WriteLine(err.Message);
                return(null);
            }
        }