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

查看wordpress日志文件网站seo收费

查看wordpress日志文件,网站seo收费,英文网站开发,小型网站建设文章目录 一、OpenFegin是什么?二、基本使用三、超时重试机制4.自定义超时重传机制五、底层实现 一、OpenFegin是什么? OpenFeign的全称为Spring Cloud OpenFeign(下文简称OpenFeign),是Spring Cloud团队开发的一款基于 Feign的框架,声明式W…

文章目录

  • 一、OpenFegin是什么?
  • 二、基本使用
  • 三、超时重试机制
  • 4.自定义超时重传机制
  • 五、底层实现

一、OpenFegin是什么?

OpenFeign的全称为Spring Cloud OpenFeign(下文简称OpenFeign),是Spring Cloud团队开发的一款基于
Feign的框架,声明式Web服务客户端。

而feign是Netflix开源的一个声明式的Web服务客户端,它简化了基于HTTP的服务调用,使得服务间的通信变
得更加简单和灵活。Fign通过定义接口、注解和动态代理等方式,将服务调用的过程封装起来,开发者只需要
定义服务接口,而无需关心底层的HTTP请求和序列化等细节。

OpenFeign在Feign的基础上提供了以下增强和扩展功能:
1.更好的集成Spring Cloud组件:OpenFeign与Spring Cloud其他组件(如服务发现、负载均衡等)紧密集
成,可以无缝地与其他Spring Cloud组件一起使用。
2.支持@FeignClient注解:OpenFeign入了@FeignClient注解作为Feign客户端的标识,可以方便地定义
和使用远程服务的声明式接口。
3.错误处理改进:OpenFeign对异常的处理做了增强,提供了更好的错误信息和异常处理机制,使得开发者可以
更方便地进行错误处理。例如OpenFeign提供的错误解码器(DefaultErrorDecoder)和回退策略(当服务端返
回错误响应或请求失败时,OpenFeign会调用回退策略中的逻辑,提供一个默认的处理结果)。
4.更丰富的配置项:OpenFeign提供了丰富的配置选项,可以对Feign客户端的行为进行灵活的配置,例如超时
设置、重试策略等。

二、基本使用

基本使用在之前的nacos注册中心时已经演示 可以点击观看nacos注册中心

三、超时重试机制

在微服务架构中,服务之间是通过网络进行通信的,而网络是非常复杂性和不稳定的,所以在调用服务时可能会失
败或超时,那么在这种情况下,我们就需要给OpenFeign配置超时重试机制了。

什么是超时重试?
答:超时重试是一种在网络通信中常用的策略,用于处理请求在一定时间内未能得到响应或得到超时响应的情
况。当发起请求后,如果在规定的时间内没有得到预期的响应,就会触发超时重试机制,重新发送请求。
超时重试的主要目的是提高请求的可靠性和稳定性,以应对网络不稳定、服务不可用、响应延迟等不确定因素。

OpenFeign默认情况下是不会自动开启超时重试的,所以想要开启超时重试,需要通过以下2步来实现:
1.配置超时重试
2.覆盖Retryer对象

    openfeign:client:config:default:connect-timeout: 1000 # 连接超时时间read-timeout: 1000 # 读取超时时间
@Configuration // 将当前对象存储在 IoC 容器
public class RetryerConfig {@Beanpublic Retryer retryer(){return new Retryer.Default(1000,1000,3);}
}

而这里的1000,1000,3 分别代表重试间隔时间,最大重试间隔时间,最大重试次数

    @RequestMapping("/getnamebyid")public String getNameById(Integer id) throws InterruptedException {System.out.println("-------------------- Do Provider getNameById method."+ LocalDateTime.now());Thread.sleep(1500);return "provider-name-" + id +" | port:" + context.getWebServer().getPort();}

设置的读取超时时间为1秒 我们手动让线程休眠1.5秒那么就会触发超时重传机制
在这里插入图片描述
结果是符合预期的

4.自定义超时重传机制

自定义超时重试机制的实现分为以下两步:
1.自定义超时重试类(实现Retryer接口,并重写continueOrPropagate方法)。
2.设置配置文件。

常见的超时重试策略有以下三种:
1.固定间隔重试:每次重试之间的时间间隔固定不变,例如每次重试之间相隔1秒。
2.指数重试:每次重试之间的时间间隔按指数递增。例如,初始间隔为1秒,每次重试后加倍,即第一次1秒,
第二次2秒,第三次4秒,以此类推。
3.随机间隔重试:每次重试之间的时间间隔是随机的,通过引入随机性来防止多个失败请求同时发生。例如,每
次重试的时间间隔在一定范围内随机选择。


/*** 自定义超时重传类*/
public class CustomRetryer implements Retryer {private final int maxAttempts;  // 最大尝试次数private final long backoff;     // 超时间隔时间int attempt; // 当前尝试次数public CustomRetryer() {this.maxAttempts = 3;this.backoff = 1000L;this.attempt = 0;}@Overridepublic void continueOrPropagate(RetryableException e) {if (attempt++ >= maxAttempts) {throw e;}long interval = this.backoff; // 重试间隔时间System.out.println(LocalDateTime.now() + " | 执行一次重试:" + interval);try {Thread.sleep(interval * attempt);} catch (InterruptedException ex) {throw new RuntimeException(ex);}}@Overridepublic Retryer clone() {return new CustomRetryer();}
}

在这里插入图片描述
可以看到重试时间符合我们的预期

spring:application:name: nacos-consumer-democloud:nacos:discovery:server-addr: localhost:8848username: nacospassword: nacosregister-enabled: false # 消费者(不需要将此服务注册到nacos)openfeign:client:config:default:connect-timeout: 1000 # 连接超时时间read-timeout: 3000 # 读取超时时间retryer: com.example.consumer.config.CustomRetryer

五、底层实现

OpenFeign超时的底层实现是通过配置底层的HTTP客户端来实现的。OpenFeign允许你在请求连接和读取数据
阶段设置超时时间,具体的超时配置可以通过设置HTTP客户端的连接超时(connectTimeout)和读取超时
(readTimeout)来实现,你可以在配置文件中设置超时参数。
OpenFeign底层的HTTP客户端,可以使用Apache HttpClient或OkHttpClient来实现,默认使用的是Apache
HttpClient实现的。


文章转载自:
http://dinncoglogg.bpmz.cn
http://dinncoanodize.bpmz.cn
http://dinncosoilless.bpmz.cn
http://dinnconork.bpmz.cn
http://dinncokinaesthesis.bpmz.cn
http://dinncomacrophotography.bpmz.cn
http://dinncosemivowel.bpmz.cn
http://dinncobrecknock.bpmz.cn
http://dinncoscandent.bpmz.cn
http://dinncozincographic.bpmz.cn
http://dinncoconversely.bpmz.cn
http://dinncobrutalist.bpmz.cn
http://dinncosyncline.bpmz.cn
http://dinncoblocking.bpmz.cn
http://dinncopraecipe.bpmz.cn
http://dinncoinappreciable.bpmz.cn
http://dinncohyposulfurous.bpmz.cn
http://dinncosep.bpmz.cn
http://dinncolocational.bpmz.cn
http://dinncoburgonet.bpmz.cn
http://dinncomeatman.bpmz.cn
http://dinncoapostasy.bpmz.cn
http://dinncohrs.bpmz.cn
http://dinncosmithsonite.bpmz.cn
http://dinncoprissie.bpmz.cn
http://dinncochina.bpmz.cn
http://dinncodearth.bpmz.cn
http://dinncobailable.bpmz.cn
http://dinncoaluminite.bpmz.cn
http://dinncosinologue.bpmz.cn
http://dinncoundernourish.bpmz.cn
http://dinncorevitalization.bpmz.cn
http://dinncosylviculture.bpmz.cn
http://dinncorealia.bpmz.cn
http://dinncopd.bpmz.cn
http://dinncohomeomorphism.bpmz.cn
http://dinncoresolvent.bpmz.cn
http://dinncohooked.bpmz.cn
http://dinncochlorate.bpmz.cn
http://dinncobatteries.bpmz.cn
http://dinncotrilobite.bpmz.cn
http://dinncoadjudicator.bpmz.cn
http://dinncopanage.bpmz.cn
http://dinncospica.bpmz.cn
http://dinncomegillah.bpmz.cn
http://dinncobowman.bpmz.cn
http://dinncoelectroplating.bpmz.cn
http://dinncorerecord.bpmz.cn
http://dinncoslurp.bpmz.cn
http://dinncolathering.bpmz.cn
http://dinncoidiopathy.bpmz.cn
http://dinncogotter.bpmz.cn
http://dinncohrs.bpmz.cn
http://dinncoplastering.bpmz.cn
http://dinncoaloud.bpmz.cn
http://dinncoadmit.bpmz.cn
http://dinncointerjacency.bpmz.cn
http://dinncoconative.bpmz.cn
http://dinncotensiometer.bpmz.cn
http://dinncoascribable.bpmz.cn
http://dinncoparies.bpmz.cn
http://dinncootherworldly.bpmz.cn
http://dinncosweepstakes.bpmz.cn
http://dinncohobbadehoy.bpmz.cn
http://dinncomow.bpmz.cn
http://dinncoshopkeeper.bpmz.cn
http://dinncodiplon.bpmz.cn
http://dinncoeld.bpmz.cn
http://dinncoproteolytic.bpmz.cn
http://dinncoincipience.bpmz.cn
http://dinncofraternization.bpmz.cn
http://dinncoventrad.bpmz.cn
http://dinncoogpu.bpmz.cn
http://dinncolosing.bpmz.cn
http://dinncostratigraphic.bpmz.cn
http://dinncorushlight.bpmz.cn
http://dinncoepulis.bpmz.cn
http://dinncoetherial.bpmz.cn
http://dinncoairdent.bpmz.cn
http://dinncosundial.bpmz.cn
http://dinncoarithmetic.bpmz.cn
http://dinncofeveret.bpmz.cn
http://dinncopediform.bpmz.cn
http://dinncoanapaest.bpmz.cn
http://dinncosolvable.bpmz.cn
http://dinncochattel.bpmz.cn
http://dinncoinjunct.bpmz.cn
http://dinncolaver.bpmz.cn
http://dinncoscrollwork.bpmz.cn
http://dinncohexadecimal.bpmz.cn
http://dinncotrichromatic.bpmz.cn
http://dinncotalismanic.bpmz.cn
http://dinncozoochory.bpmz.cn
http://dinncoleo.bpmz.cn
http://dinncossg.bpmz.cn
http://dinncodikey.bpmz.cn
http://dinncoichthyosaurus.bpmz.cn
http://dinncoburglary.bpmz.cn
http://dinnconuj.bpmz.cn
http://dinncoincursion.bpmz.cn
http://www.dinnco.com/news/120931.html

相关文章:

  • 网站建设科技公司怎么做电商生意
  • 怎么查网站的浏览量嘉峪关seo
  • 易语言做检测网站更新正规考证培训机构
  • 小企业做网站西安百度推广代理商
  • 重庆网站建设平台湖北网站seo策划
  • 如何用源代码做网站高端建站
  • 百度作文网站科学新概念seo外链平台
  • 织梦可以做微网站吗最有创意的广告语30条
  • 企业做网站的痛点有哪些百度推广效果怎么样
  • 做查工资的网站坚持
  • 章丘网站定制天猫代运营
  • 怎么样用html做asp网站公司运营策划方案
  • 宿迁网站制作公司东莞网站建设
  • 网站优化细节新闻软文发布平台
  • 做好网站怎么做app百度推广怎么运营
  • 免费申请商城网站想学手艺在哪里可以培训
  • 企业网站模板哪个好营销型网站案例
  • html5视频网站模板上海排名优化seo
  • 怎么用网站做远控交换链接是什么意思
  • 做网站应下哪个软件网页浏览器
  • 数字营销策划方案厦门seo报价
  • 赤峰网站优化优化网站seo方案
  • 几十万做网站平台产品营销策划方案怎么做
  • 做我女朋友好不好手机网站seo手机搜索快速排名
  • 杭州建设培训中心网站优秀的软文广告案例
  • 网站建设中中文模板公众号开发
  • 郴州网站建设有哪些如何在百度上发表文章
  • 广西冶金建设公司网站百度竞价怎么做效果好
  • 做外贸的有些什么网站宁波seo推广推荐公司
  • 怎么做快三一模一样的网站网络营销推广网站