百度推广帮做网站,网站电话转化率,wordpress 付费查看,铁岭 网站建设文章目录 代码下载地址OpenFeign简介OpenFeign使用步骤测试 OpenFeign超时控制超时设置#xff0c;故意设置超时演示出错情况服务提供方8001故意写暂停程序服务消费方80添加超时方法PaymentFeignService服务消费方80添加超时方法OrderFeignController测试YML文件里需要开启Ope… 文章目录 代码下载地址OpenFeign简介OpenFeign使用步骤测试 OpenFeign超时控制超时设置故意设置超时演示出错情况服务提供方8001故意写暂停程序服务消费方80添加超时方法PaymentFeignService服务消费方80添加超时方法OrderFeignController测试YML文件里需要开启OpenFeign客户端超时控制测试 OpenFeign日志打印功能 代码下载地址
地址https://github.com/13thm/study_springcloud/tree/main/days7_OpenFeign
OpenFeign简介
Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。
它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡
OpenFeign使用步骤
1.新建cloud-consumer-feign-order80 2.改POM 3. 改YML 4. 主启动 5. 业务类 可以换成 直接下载cloud-consumer-feign-order80 具体怎么改的具体看下载代码 测试
按顺序启动以下服务。
http://localhost/consumer/payment/get/1OpenFeign超时控制
超时设置故意设置超时演示出错情况
服务提供方8001故意写暂停程序
在8001 改写controller
添加一下具体可看下载代码 GetMapping(value /payment/feign/timeout)public String paymentFeignTimeOut(){System.out.println(*****paymentFeignTimeOut from port: serverPort);//暂停几秒钟线程try { TimeUnit.SECONDS.sleep(3); } catch (InterruptedException e) { e.printStackTrace(); }return serverPort;}服务消费方80添加超时方法PaymentFeignService
添加 GetMapping(value /payment/feign/timeout)String paymentFeignTimeOut();服务消费方80添加超时方法OrderFeignController
添加 GetMapping(value /consumer/payment/feign/timeout)public String paymentFeignTimeOut(){return paymentFeignService.paymentFeignTimeOut();}测试
http://localhost/consumer/payment/feign/timeoutYML文件里需要开启OpenFeign客户端超时控制
server:port: 80eureka:client:register-with-eureka: falseservice-url:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/#设置feign客户端超时时间(OpenFeign默认支持ribbon)
ribbon:
#指的是建立连接所用的时间适用于网络状况正常的情况下,两端连接所用的时间ReadTimeout: 5000
#指的是建立连接后从服务器读取到可用资源所用的时间ConnectTimeout: 5000测试
http://localhost/consumer/payment/feign/timeoutOpenFeign日志打印功能
NONE默认的不显示任何日志BASIC仅记录请求方法、URL、响应状态码及执行时间HEADERS除了 BASIC 中定义的信息之外还有请求和响应的头信息FULL除了 HEADERS 中定义的信息之外还有请求和响应的正文及元数据。配置日志bean
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import feign.Logger;/*** auther zzyy* create 2019-11-10 17:00*/
Configuration
public class FeignConfig
{BeanLogger.Level feignLoggerLevel(){return Logger.Level.FULL;}
}改yml文件
server:port: 80eureka:client:register-with-eureka: falseservice-url:defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/#设置feign客户端超时时间
#springCloud默认开启支持ribbon
ribbon:
#指的是建立连接所用的时间适用于网络状况正常的情况下,两端连接所用的时间ReadTimeout: 5000
#指的是建立连接后从服务器读取到可用资源所用的时间ConnectTimeout: 5000logging:level:# feign日志以什么级别监控哪个接口com.atguigu.springcloud.service.PaymentFeignService: debug