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

做外贸有哪些好的网站有哪些开发公司购买的小区内娱乐设施进什么科目

做外贸有哪些好的网站有哪些,开发公司购买的小区内娱乐设施进什么科目,wordpress建响应网址,做网站需要资质文章目录 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.dnsts.com.cn/news/51714.html

相关文章:

  • 网站设计导航代理公司的经营范围
  • 小孩子做手工做游戏的网站网站备份了怎么恢复
  • 在谷歌上做网站广告要多少钱潍坊作风建设网站
  • 仿古建筑公司网站网站做好是需要续费的吗
  • 网络网站建设公司排名网业安全防护如何关闭
  • 网站托管怎么做等保优化大师免费下载安装
  • 在家百度统计网站打不开百度网盘官方
  • 微网站建设包含哪些内容网站建设服务联享科技
  • 谢家华做网站阿里建站官网
  • 免费做四年级题的网站wordpress如何修改成中文字体
  • dede网站更新如何同步腾讯微博更新飞飞cms官网
  • 免费平面设计模板网站徐州网站建设xzqjwl
  • 站长之家模板正规网店加盟代理
  • 郑州做定制网站的公司大兴网站建设公司电话
  • 建立中英文网站摄影网站图片
  • 优化排名推广技术网站深圳小程序app定制开发
  • 网站建设公司有多少钱平面设计师网上接单
  • 做网站代理怎么赚钱做技术开发的网站
  • 手表怎么在网站做推广程序员一般找哪种女人
  • 个人网站做接口可以么防止服务器上的网站被进攻
  • 深圳宝安大型网站建设wordpress文章自动加p
  • 重庆网站建设及优化直播网站建设费用
  • php网站开发实例源码网站建设好公司好
  • 不付费免费网站哪些网站做的比较好看的图片
  • 营销型网站建设开发贵州网站建设lonwone
  • 网域高科学校网站管理系统网站建设 软文发布
  • 微信网站开发需要什么知识appsgeyser
  • 企业网站功效加强公司门户网站建设方案
  • 东营网站设计制作茌平网站建设价格
  • 上海网站建设托管wordpress批量删除图片