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

网站开发需要了解的知识怎么创建一个属于自己的平台

网站开发需要了解的知识,怎么创建一个属于自己的平台,电商运营培训班,网站建设单选题Openfeign 相关扩展 在 2020 以前的 SpringCloud 采用 Ribbon 作为负载均衡,但是 2020 年之后,SpringCloud 吧 Ribbon 移除了,而是使用自己编写的 LoadBalancer 替代. 因此,如果在没有加入 LoadBalancer 依赖的情况下&#xff0c…

Openfeign

相关扩展

在 2020 以前的 SpringCloud 采用 Ribbon 作为负载均衡,但是 2020 年之后,SpringCloud 吧 Ribbon 移除了,而是使用自己编写的 LoadBalancer 替代.

因此,如果在没有加入 LoadBalancer 依赖的情况下,使用 RestTemplate 或 OpenFeign 远程调用,就会报错

1.是什么

Feign是一个声明性web服务客户端。它使编写web服务客户端变得更容易。使用Feign创建一个接口并对其进行注释。它具有可插入的注释支持,包括Feign注释和JAX-RS注释。Feign还支持可插拔编码器和解码器。Spring Cloud添加了对Spring MVC注释的支持,以及对使用Spring Web中默认使用的HttpMessageConverter的支持。Spring Cloud集成了Eureka、Spring Cloud CircuitBreaker以及Spring Cloud LoadBalancer,以便在使用Feign时提供负载平衡的http客户端。

在这里插入图片描述

为什么不直接使用LoadBalancer +RestTemplate

feign统一对外暴露可以被调用的接口方法,大大简化和降低了调用客户端的开发量,也即由服务提供者给出调用接口清单,消费者直接通过OpenFeign调用即可

比restTemplate本身就多了一层接口方便管理

OpenFeign也可以集成阿里巴巴Sentinel来提供熔断、降级等功能

默认会有LoadBalancer的负载均衡

2.怎么用

大概逻辑:当应用启动时,Feign 使用 Java 的动态代理机制生成接口的实现。这个过程由 Spring Cloud 集成提供支持Feign 客户端在内部构建了请求的详细信息,并将接口方法调用转换为 HTTP 调用。

加依赖
<!--openfeign-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
改配置
业务代码

调用方:

主启动类:

@EnableFeignClients

接口类:

@FeignClient

@FeignClient(name = XXXServiceName)
public interface CmnOpenfeignService {@PostMapping(XXXServiceName.ConfigGetCityByNameUrl)ApiResult<CityCascadeVo> getCityByNameUrl(@RequestBody CityNameQuery query);
}

3.其他特性

超时重传

新版默认超时60秒 会报错 可以通过配置修改

默认OpenFeign客户端等待60秒钟,但是服务端处理超过规定时间会导致Feign客户端返回报错。

为了避免这样的情况,有时候我们需要设置Feign客户端的超时控制,默认60秒太长或者业务时间太短都不好

yml文件中开启配置:

connectTimeout 连接超时时间

readTimeout 请求处理超时时间

也可以通过配置 配置某个服务的超时时间

默认重试机制是关闭的

配置重试机制:

import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class FeignConfig
{@Beanpublic Retryer myRetryer(){//return Retryer.NEVER_RETRY; //Feign默认配置是不走重试策略的//最大请求次数为3(1+2),初始间隔时间为100ms,重试间最大间隔时间为1sreturn new Retryer.Default(100,1,3);}
}
OpenFeign默认HttpClient修改

OpenFeign中http client

如果不做特殊配置,OpenFeign默认使用JDK自带的HttpURLConnection发送HTTP请求,

由于默认HttpURLConnection没有连接池、性能和效率比较低,如果采用默认,性能上不是最好的,

推荐使用apache client5

依赖:

<dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5</artifactId><version>5.3</version>
</dependency>
<!-- feign-hc5-->
<dependency><groupId>io.github.openfeign</groupId><artifactId>feign-hc5</artifactId><version>13.1</version>
</dependency>
#  Apache HttpClient5 配置开启
spring:cloud:openfeign:httpclient:hc5:enabled: true
请求和响应压缩
  ####Spring Cloud Consul for Service Discoverycloud:consul:host: localhostport: 8500discovery:prefer-ip-address: true #优先使用服务ip进行注册service-name: ${spring.application.name}openfeign:client:config:default:#cloud-payment-service:#连接超时时间connectTimeout: 4000#读取超时时间readTimeout: 4000httpclient:hc5:enabled: truecompression:request:enabled: truemin-request-size: 2048 #最小触发压缩的大小mime-types: text/xml,application/xml,application/json #触发压缩数据类型response:enabled: true
日志打印功能

对Feign接口的调用情况进行监控和输出:

两个都要加

import feign.Logger;
import feign.Retryer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class FeignConfig
{@Beanpublic Retryer myRetryer(){return Retryer.NEVER_RETRY; //默认}@BeanLogger.Level feignLoggerLevel() {return Logger.Level.FULL;}
}

在这里插入图片描述

http://www.15wanjia.com/news/178205.html

相关文章:

  • 网站制作说明书商城开发建设
  • 推动品牌建设的网站制作游戏的软件有哪些
  • 视频上传网站建设标题关键词优化报价
  • .net做的学校网站wordpress 3 小工具运行php
  • 牛二网站建设udacity 网站开发
  • 建设企业银行官方网站全网推广营销
  • 网站的基本要素网站建设验收单
  • 公司网站主页怎么做安徽经工建设集团网站
  • 什么是网站主办者网页界面分析及设计布局
  • 网站代码怎么写邢台市做网站电话
  • 网站推广计划怎么做工信部网站备案通知
  • 网站开发方案服装网站简介造价咨询公司加盟分公司
  • 网站需求说明网站表单及商品列表详情模板
  • 没有服务器怎么做网站广西医院响应式网站建设方案
  • 企业网站带后台成都旅游公司
  • 网站js代码不显示织梦网站数据下载
  • 直播类网站开发wordpress 标题截断
  • 网站百度地图导航代码生成公司做网站算什么费用
  • 怎么把网站列入黑名单备案 网站名称怎么写
  • 微信商城和微网站个人网站可以做商城吗
  • wordpress 电台网站wordpress coolcode
  • 能下短视频网站做牙华夏网站建设
  • 一个空间怎么放多个网站吗手机上干点啥能挣零花钱
  • 交易网站建设需要学什么软件微信小程序传奇怎么制作
  • 网站的排名和什么因素有关系江苏建设部网站
  • 重庆市城市建设规划官方网站wordpress网站编辑
  • 外贸网站怎样做做网站卖广告挣几百万
  • 自己做的网站项目面试企业网站开发费用包括哪些
  • 怎么做企业的网站首页wordpress新增标题
  • 宜春市住房和城乡建设局网站怎么制作动画