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

陵水网站建设哪家专业wordpress中的portfolio

陵水网站建设哪家专业,wordpress中的portfolio,想给公司做个网站怎么做的,东莞网站优化什么方法前文地址: 001 SpringCloudAlibaba整合 - Nacos注册配置中心、Sentinel流控、Zipkin链路追踪、Admin监控 文章目录 8.Feign远程调用、loadbalancer负载均衡整合1.OpenFeign整合1.引入依赖2.启动类添加EnableFeignClients注解3.yml配置4.日志配置5.远程调用测试6.服务…

前文地址:
001 SpringCloudAlibaba整合 - Nacos注册配置中心、Sentinel流控、Zipkin链路追踪、Admin监控

文章目录

    • 8.Feign远程调用、loadbalancer负载均衡整合
      • 1.OpenFeign整合
        • 1.引入依赖
        • 2.启动类添加`@EnableFeignClients`注解
        • 3.yml配置
        • 4.日志配置
        • 5.远程调用测试
        • 6.服务降级
        • 7.重试配置,服务端异常捕获
        • 8.连接池配置
      • 2.Loadbalancer负载均衡测试
        • 1.复制客户端
        • 2.修改端口启动
        • 3.测试
        • 4.修改负载均衡算法

8.Feign远程调用、loadbalancer负载均衡整合

1.OpenFeign整合

1.引入依赖

注意:由于openfeign高版本使用loadbalancer负载均衡而不是ribbon,所以需要引入loadbalancer依赖排除ribbon,否则会报错

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
        <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><exclusions><exclusion><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></exclusion></exclusions></dependency>
2.启动类添加@EnableFeignClients注解
3.yml配置
#由于feign高版本使用loadbalancer负载均衡,排除了ribbon,所以超时时间不能使用ribbon配置
feign:#开启feign对sentinel支持sentinel:enabled: true#feign gzip压缩配置compression:request:enabled: true# 配置压缩的类型mime-types: text/xml,application/xml,application/json# 最小压缩值min-request-size: 2048response:enabled: trueclient:config:#服务名称cloud-production:# 连接超时时间connectTimeout: 90000# 请求处理超时时间readTimeout: 90000# default 全局配置,可以用服务名配置单个服务default:#日志级别,BASIC就是最基本的请求和响应信息loggerLevel: BASIC

springboot全局压缩配置

server:# gzip压缩配置compression:min-response-size: 512mime-types: application/json,application/xml,text/html,text/xml,text/plainexcluded-user-agents: gozilla,traviataenabled: true
4.日志配置

方式一

#日志收集
logging:#feign日志配置level:com.moshangshang.cloud.clean.feign.ProductionFeign: debug  #扫描的是你那个service的类全类名,也可扫包

方式二

feign:client:config:default:#日志级别,BASIC就是最基本的请求和响应信息loggerLevel: BASIC

方式三

@Configuration
public class FeignConfig {/*** feign日志配置*/@Beanpublic Logger.Level feignLogLevel(){return Logger.Level.BASIC; // 日志级别为BASIC}}

单个远程调用使用

@FeignClient(value = "cloud-production",configuration = FeignConfig.class)

全局使用

@EnableFeignClients(defaultConfiguration = FeignConfig.class)
5.远程调用测试

1.fegin调用接口

@FeignClient(value = "cloud-production",configuration = FeignConfig.class)
public interface ProductionFeign {@GetMapping("/cloud-production/test1")String test1();}

2.调用方法

@RestController
@RequestMapping("/cloud-clean")
public class CleanController {@Autowiredprivate ProductionFeign productionFeign;@GetMapping("/test1")public void test1(){String s = productionFeign.test1();System.out.println("远程调用接收到的数据"+s);}}

3.被调用服务方法

@RestController
@RequestMapping("/cloud-production")
public class ProductionController {@GetMapping("/test1")public String test1(){System.out.println("test1 被调用了");return "111";}}

4.测试结果

6.服务降级

1.编写降级工厂类

/*** 服务降级*/
@Slf4j
@Component
public class ProductionFallbackFactory implements FallbackFactory<ProductionFeign> {@Overridepublic ProductionFeign create(Throwable cause) {log.error("服务异常。。。。。。。。。。。。。。。。。。。" + cause);return new ProductionFeign() {@Overridepublic String test1() {return "Fallback回滚";}};}
}

2.使用

@FeignClient(value = "cloud-production",fallbackFactory = ProductionFallbackFactory.class)
7.重试配置,服务端异常捕获
@Slf4j
@Configuration
public class FeignConfiguration {/*** 自定义重试机制*/@Beanpublic Retryer feignRetryer() {//最大请求次数为5,初始间隔时间为100ms,下次间隔时间1.5倍递增,重试间最大间隔时间为1s,return new Retryer.Default();}/*** 客户端捕获服务端异常*/@Beanpublic ErrorDecoder feignError() {return (key, response) -> {if (response.status() == 400) {log.error("请求xxx服务400参数错误,返回:{}", response.body());}if (response.status() == 409) {log.error("请求xxx服务409异常,返回:{}", response.body());}if (response.status() == 404) {log.error("请求xxx服务404异常,返回:{}", response.body());}// 其他异常交给Default去解码处理// 这里使用单例即可,Default不用每次都去newreturn new ErrorDecoder.Default().decode(key, response);};}}
@FeignClient(value = "cloud-production",fallbackFactory = ProductionFallbackFactory.class,configuration = MyConfiguration.class)

8.连接池配置
<!--使用连接池--><dependency><groupId>io.github.openfeign</groupId><artifactId>feign-httpclient</artifactId></dependency>
feign:httpclient:# 支持httpClient的开关enabled: true#最大连接数max-connections: 200# 单个路径的最大连接数max-connections-per-route: 50

2.Loadbalancer负载均衡测试

1.复制客户端

2.修改端口启动

3.测试

默认轮询方式调用

4.修改负载均衡算法

1.创建核心配置类

@Configuration
public class RestTemplateConfig {@Bean@LoadBalancedpublic RestTemplate restTemplate() {return new RestTemplate();}@BeanReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {// 获取负载均衡器的名称String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);// 创建并返回一个随机负载均衡器实例return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);}}

2.使用

@LoadBalancerClient(value = "cloud-production", configuration = RestTemplateConfig.class)

自带三个算法,轮询,随机和nacos

http://www.yayakq.cn/news/800550/

相关文章:

  • 各大中文网站网站建设逻辑组织的几种模型
  • 网站介绍词个人网站的建设
  • 头像代做网站天津小型网站建设
  • 手机静态网站开发制作wordpress 菜单 消失
  • 安康做企业网站的项目计划书文件
  • 如何将自己做的网站传到网上泰安网络公司行情
  • 简单描述网站建设流程大学校园门户网站建设
  • 企业官方网站建设费用设计网站的意义
  • 公司做网站需要服务器吗中装建设是做什么的
  • 做网站需要工商证吗最好的网站代运营公司
  • 网站开发项目源码注册网站的流程
  • 山东专业企业网站建设极速微网站建设cms
  • 泰安微信网站制作网页按钮制作教程
  • 永泰县网站集约化建设专门做团购的网站
  • 搬瓦工的主机可以用来做网站吗跑wordpress配置
  • 网站建设预算策划连云港建设工程质量监督站网站
  • 大型商城网站建设网站建设背景图片大小的修改
  • 怎样制作免费网站一般公司常用的邮箱
  • 住房城乡建设行业证书查询官网鄂尔多斯seo
  • 做网站需要执照吗淮南医院网站建设
  • 建设宣传家乡的网站天津网站备案在哪照相
  • 龙岗网站建设公司哪家好微商城软件开发
  • 绍兴网站建设方案策划合肥建设厅官方网站
  • 网站的欢迎页怎么做昆明市网站推广
  • 网站系统改教程wordpress 并发量
  • 国外网站怎么上代做ppt的网站
  • 网站开发知识视频淘宝网页版电脑版入口
  • 搭建一个网站需要多久哪些网站的做的好看
  • 高端网站建设需要的人员配备石家庄网红打卡地
  • wordpress 小说多站青海省建设厅建管处网站