当前位置: 首页 > news >正文

手机下载视频网站模板下载失败杭州做网站五

手机下载视频网站模板下载失败,杭州做网站五,一个网站的主题和设计风格,在网上做黑彩网站会怎样文章目录 1. Polly实现失败重试1.1 Polly组件包1.2 Polly的能力1.3 Polly使用步骤1.4 适合失败重试的场景1.5 最佳实践 2.Polly实现熔断限流避免雪崩效应2.1 策略类型2.2 组合策略 1. Polly实现失败重试 1.1 Polly组件包 PollyPolly.Extensions.HttpMicrosoft.Extensions.Htt… 文章目录 1. Polly实现失败重试1.1 Polly组件包1.2 Polly的能力1.3 Polly使用步骤1.4 适合失败重试的场景1.5 最佳实践 2.Polly实现熔断限流避免雪崩效应2.1 策略类型2.2 组合策略 1. Polly实现失败重试 1.1 Polly组件包 PollyPolly.Extensions.HttpMicrosoft.Extensions.Http.Polly 1.2 Polly的能力 失败重试服务熔断 ⇒ 部分服务不可用时可以快速响应熔断避免持续请求不可用服务而导致整个应用程序宕掉超时处理 ⇒ 请求响应超过设置的时间可按照预定的操作进行处理舱壁隔离 ⇒ 为服务定义最大流量和队列避免服务应请求量过大而被压崩缓存策略 ⇒ 类似AOP为应用嵌入缓存机制当缓存命中时可以快速响应缓存失败降级 ⇒ 当服务不可用时可以响应一个更友好的结果而非报错组合策略 ⇒ 将上面的策略组合在一起 1.3 Polly使用步骤 定义要处理的异常类型或返回值定义要处理动作(重试、熔断、降级响应等)使用定义的策略来执行代码 1.4 适合失败重试的场景 服务“失败”是暂时的可自愈的服务是幂等的重复调用不会有副作用 场景举例 网络闪断部分服务节点异常 1.5 最佳实践 设置失败重试次数设置带有步长策略的失败等待间隔 ⇒ 防止持续不断的重试出现类似DDOS的情况设置降级响应 ⇒ 重试达到上限时,需要为服务设置降级响应设置断路器 public void ConfigureServices(IServiceCollection services){// HttpClientFactory Polly内置的重试策略services.AddGrpcClientOrderGrpc.OrderGrpcClient(options {options.Address new Uri(https://localhost:5001);}).ConfigurePrimaryHttpMessageHandler(provider {var handler new SocketsHttpHandler();handler.SslOptions.RemoteCertificateValidationCallback (a, b, c, d) true; //允许无效、或自签名证书return handler;}).AddTransientHttpErrorPolicy(p p.WaitAndRetryForeverAsync(i TimeSpan.FromSeconds(i * 3)));// 设置响应500或408时重试不指定次数直到成功// 定义个性化策略var reg services.AddPolicyRegistry();reg.Add(retryforever, Policy.HandleResultHttpResponseMessage(message {return message.StatusCode System.Net.HttpStatusCode.Created;}).RetryForeverAsync());// 应用策略services.AddHttpClient(orderclient).AddPolicyHandlerFromRegistry(retryforever);services.AddHttpClient(orderclientv2).AddPolicyHandlerFromRegistry((registry, message) {return message.Method HttpMethod.Get ? registry.GetIAsyncPolicyHttpResponseMessage(retryforever) : Policy.NoOpAsyncHttpResponseMessage();});} 2.Polly实现熔断限流避免雪崩效应 2.1 策略类型 被动策略(异常处理结果处理)主动策略超时处理断路器舱壁隔离缓存 被动策略当服务响应出现一些异常或结果时进行处理 主动策略根据策略实例去判断是否超时或异常等情况这是由策略进行主动触发的一些操作 2.2 组合策略 降级响应失败重试断路器舱壁隔离 限流、熔断策略都是有状态的这指的是在策略中设置的并发数队列数还有熔断的采样时间和吞吐量错误数这些计数器的状态这些是由一个策略的实例去承载。在对不同服务进行不同的策略定义单独计算它的熔断限流数值时就需要单独定义不同的策略的实例去完成不同服务之间的定义的隔离 // startup public void ConfigureServices(IServiceCollection services) {// 熔断策略services.AddHttpClient(orderclientv3).AddPolicyHandler(PolicyHttpResponseMessage.HandleHttpRequestException().CircuitBreakerAsync(handledEventsAllowedBeforeBreaking: 10,// 报错10次后熔断服务durationOfBreak: TimeSpan.FromSeconds(10), // 熔断时间onBreak: (r, t) { }, // 发生熔断后触发事件onReset: () { }, // 熔断恢复后触发事件onHalfOpen: () { }// 当熔断恢复之前进行验证服务是否可用的请求)); }//更高级设置 services.AddHttpClient(orderclientv3).AddPolicyHandler(PolicyHttpResponseMessage.HandleHttpRequestException().AdvancedCircuitBreakerAsync(// 请求失败比例占80%时熔断failureThreshold: 0.8,// 计算请求失败比例的时间范围,当前为10秒内80%请求失败samplingDuration: TimeSpan.FromSeconds(10),// 最小吞吐量,在达到100个请求的时候再去计算上去失败比例,用于请求量小的时候不进行熔断minimumThroughput: 100,durationOfBreak: TimeSpan.FromSeconds(20),// 熔断时长onBreak: (r, t) { }, // 发生熔断后触发事件onReset: () { },// 熔断恢复后触发事件onHalfOpen: () { }));// 当熔断恢复之前进行验证服务是否可用的请求// 服务降级 var message new HttpResponseMessage() {Content new StringContent({}) }; var fallback PolicyHttpResponseMessage.HandleBrokenCircuitException().FallbackAsync(message);// 重试机制重试3次每次等1秒钟 var retry PolicyHttpResponseMessage.HandleException().WaitAndRetryAsync(3, i TimeSpan.FromSeconds(1));// 组合策略 //执行顺序breakPolicy - retry - fallback var fallbackBreak Policy.WrapAsync(fallback, retry, breakPolicy); services.AddHttpClient(httpv3).AddPolicyHandler(fallbackBreak);// 限流 var bulk Policy.BulkheadAsyncHttpResponseMessage(// 最大请求数maxParallelization: 30, // 最大队列数,指的是达到最大请求数后又多少个请求可以被放到队列中// 若不设置这个值,达到最大请求数后程序会抛出异常如果队列数超出最大队列数也会抛出异常maxQueuingActions: 20, // 请求被限流时执行的处理方式onBulkheadRejectedAsync: contxt Task.CompletedTask);// 限流出现异常时响应降级 var message2 new HttpResponseMessage() {Content new StringContent({}) }; var fallback2 PolicyHttpResponseMessage.HandleBulkheadRejectedException().FallbackAsync(message); // 组合策略 var fallbackbulk Policy.WrapAsync(fallback2, bulk); services.AddHttpClient(httpv4).AddPolicyHandler(fallbackbulk); 当服务发生熔断时策略会抛出CircuitBreakerException异常也就是熔断异常
http://www.zqtcl.cn/news/591702/

相关文章:

  • 中国室内设计师联盟网站我注册过的网站
  • 如何给自己的公司做网站网站设计电商首页
  • 成都网站开发培训综合网站开发实训总结
  • 个人备案网站名称文学网站开发
  • 花钱做推广广告哪个网站好泗洪网页设计
  • 望牛墩镇网站建设公司网站建设企业熊掌号
  • 做网站一般会出现的问题静态网站的好处就是安全性好从而
  • 做海鲜代理在什么网站建筑网片钢筋网生产厂家
  • 万网网站建设方案书导购网站开发要多少钱
  • 做网站muse好还是DW好用wordpress %link
  • html5门户网站模版做投标需要知道什么网站
  • 合肥网站制作推广seo引擎搜索网站关键词
  • 陕西建设厅网站wordpress 不显示ip
  • 郑州外贸网站制作营销号视频生成器手机版
  • 绵阳市建设工程质量监督站网站wordpress的插件目录
  • 建设和管理环保网站西安做兼职网站设计
  • 在网站中写小说想要删除如何做婚纱摄影的网站怎么做
  • 重庆自适应网站建设wordpress添加icon文件
  • 目前小说网站排名适合网站设计的gif图片
  • 深圳建立网站wordpress 安装语言
  • 南京做中英文网站海南网站建设哪家专业
  • 做网站用jquerywordpress邮件有什么用
  • 上海网站建设免the 7 wordpress
  • 知名建站的公司微信企业app手机下载安装
  • 鹤山做网站羊毛网站建设视频
  • 图书类网站开发的背景建筑培训机构
  • 外贸网站建设制作wordpress管理员页面404
  • 北郊网站建设app网站开发哪里有
  • 像素人物制作网站网站开发的话术
  • 网站关键词怎么优化排名wordpress电子商城模板