如何搭建spring cloud alibaba微服务
这篇文章主要介绍"如何搭建spring cloud alibaba微服务",在日常操作中,相信很多人在如何搭建spring cloud alibaba微服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"如何搭建spring cloud alibaba微服务"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1.Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。使用方法是定义一个服务接口然后在上面添加注解。在实际开发中,由于服务依赖的调用不可能一处使用,往往一个接口会被多处调用,所以通常都会针对每个微服务自行封装一些客户端类来包装这些依赖服务的调用。
2.用我们以前的cloudalibaba-consumer-nacos-order83工程演示作为客户端
3.pom文件引入openfeign
org.springframework.cloud spring-cloud-starter-openfeign
4.主启动类:
@SpringBootApplication//@EnableDiscoveryClient@EnableFeignClients //开启Feignpublic class OrderApplication83 {public static void main(String[] args) { SpringApplication.run(OrderApplication83.class,args); }}
5.编写对外暴漏借口共调用
6.用我们之前9001和9002为服务提供者,分别启动这三个服务,并访问地址:http://127.0.0.1:83/consumer/payment/nacos/1
再次刷新界面
结果证明Openfeign内部支持负载调用。
Openfeign超时控制
1.在端口9001服务中设置超时
2.在83端口服务中进行调用上面添加的接口,并访问:http://127.0.0.1:83/consumer/payment/feign/timeout
因为feign默认客户端只等待一秒,但服务端处理需要超过一秒,所以就会出现上面的这个错误。
解决办法:
在yml文件添加如下配置:
#设置feign 客户端超时时间(openFeign默认支持ribbon)ribbon: #指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间 ReadTimeout: 5000 #指的是建立连接后从服务器读取到可用资源所用的时间 ConnectTimeout: 5000
Openfeign日志增强
在yml配置文件添加如下配置:
logging: level:#feign日志以什么级别监控哪个接口 com.yxw.springcloud.service.PaymentFeignService: debug
在配置日志bean
@Configurationpublic class FeignConfig {@Bean Logger.Level feignLoggerLevel(){return Logger.Level.FULL; }}
启动服务访问接口看控制台打印如下信息:
到此,关于"如何搭建spring cloud alibaba微服务"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!