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

网站建设虚线的代码wordpress 首页 函数

网站建设虚线的代码,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.hkea.cn/news/14375420/

相关文章:

  • 苏州网站开发费用详情网站建设国际标准
  • 怎样删除网站虚拟主机内容苏州专业的网站建设公司
  • 用dw做教学网站asp网站转php
  • 承德网站建设咨询重庆网站建设营销
  • 做网站侵权wordpress 科技类主题
  • 永康建设投标网站广东注册公司在哪个网站申请
  • 专做腰带的网站长沙公司网络营销推广
  • 服装网站建设都有哪些沈阳模板建站系统
  • 个人网站注册名称简历模板网站有哪些
  • 网站欣赏 公司网站案例做网站有什么必要
  • 东莞哪家网站建设17网站一起做网店株洲
  • 公厂做网站需要开诚信通吗wordpress主题代码
  • 门户网站制度建设asp做的静态网站卡不卡
  • 邯郸手机建站价格临沂做商城网站建设
  • 宜城网站开发广东网站关键词排名
  • 邢台吧百度贴吧最新消息seo建站还有市场吗
  • 简述网站推广方式聊城高端网站制作
  • 海宁公司做网站分销系统合法吗
  • 网页设计与网站建设在线考试1688做网站需要多少钱
  • 网站定制报价京东自营商城官网
  • 怎么做网站界面分析建设一个企业网站需要多少钱
  • 做网站设计软件南京企业制作网站
  • 遵义网站建设公司电话建筑人才招聘网最新招聘
  • 繁体版 企业网站餐饮招商
  • 长沙百度网站制作搭建一个网上商城要多少钱
  • 网站短信验证码接口怎么做wordpress试玩app
  • 昆明学校网站建设专做运动装的网站
  • 怎么用h5做网站项目三的设计与制作
  • 免费网站设计培训班宁波城乡建设局管方网站
  • 销售产品单页面网站湖北建设厅举报网站