专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

springcloud-feign入门搭建以及使用

springcloud-feign搭建

1、我们这里搭建feign还是用之前搭建eureka的服务,先在order服务pom文件中添加如下依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

然后新建ProductFeignClient接口代码如下:

@FeignClient(name = "product-service")
public interface ProductFeignClient {
    @RequestMapping(value = "/product/{id}", method = RequestMethod.GET)
    Product findById(@PathVariable("id") Long id);
}
@FeignClient:
    name : 服务提供者的名称

2、在order服务启动类加@EnableFeignClients 这个注解代表开启feign

接下来我们修改OrderController代码:

@RestController
@RequestMapping("/order")
public class OrderController {

    @Autowired
    private RestTemplate restTemplate;

    @Autowired
    private ProductFeignClient productFeignClient;

    @RequestMapping(value = "/buy/{id}",method = RequestMethod.GET)
    public Product findById(@PathVariable Long id) {
        Product product = productFeignClient.findById(id);
        return product;
    }
}

再次启动eureka、order、product服务,访问 http://localhost:9002/order/buy/1

78_1.png

看到这个页面我们的feign远程调用搭建成功!!!!

feign负载均衡

跟上面一样启动product服务,启动两个端口,这就不多说了,前面已经演示过,现在我们直接来看结果,访问 http://localhost:9002/order/buy/1

78_2.png

在刷新下页面:

78_3.png

feign的负载均衡和我们之前的ribbon都是用轮询的方式做的负载

打印feign日志

在order服务application.yml配置文件中添加如下配置:

feign:
  client:
    config:
      product-service:    #需要调用的服务名称
        loggerLevel: FULL
logging:
  level:
    com.taiji.order.feign.ProductFeignClient: debug

配置feign日志的输出
日志配置 NONE : 不输出日志(高) BASIC: 适用于生产环境追踪问题
HEADERS : 在BASIC的基础上,记录请求和响应头信息 FULL : 记录所有

未经允许不得转载:搜云库技术团队 » springcloud-feign入门搭建以及使用

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们