1. feign 简介
feign 是 netflix 开发的声明式、模板化的 http 客户端,它使得 http 请求变得更简单,feign 底层的使用的 http 通信框架是 HttpClient。feign 默认集成了 ribbon,并和 Eureka 结合实现了负载均衡。feign 被广泛应用在 SpringCloud 的解决方案中,是学习基于 SpringCloud 微服务架构不可或缺的重要组件
官方 github:https://github.com/OpenFeign/feign
2. feign 实现远程调用
在 上一篇 文章中,已经实现了 ribbon 的客户端负载均衡,虽然使用 RestTemplate 也可以实现服务之间的调用,但是它不够理想化,不够规范化,标准化。所以,本篇将使用 feign 实现服务之间的调用
项目结构依然使用上一篇文章的项目,稍加改动就可实现
2.1. Maven 主要依赖
在 eureka-client-consumer 消费方添加如下依赖
<!--springcloud feign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.2. application.properties 配置文件
2.2.1. eureka-client-producer 服务提供方
server.port=8080
#注册进eureka的名称
spring.application.name=eureka-client-producer
#JDBC 配置
spring.datasource.druid.url=jdbc:mysql://127.0.0.1:3306/shiro?characterEncoding=utf8&useSSL=false&autoReconnect=true&serverTimezone=UTC
spring.datasource.druid.username=root
spring.datasource.druid.password=123456
spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
#druid 连接池配置
spring.datasource.druid.initial-size=3
spring.datasource.druid.min-idle=3
spring.datasource.

本文介绍了如何在SpringCloud中使用Feign进行服务间的远程调用,详细阐述了Feign的主要依赖、配置文件设置,包括服务提供方和服务消费方的配置。同时,通过测试展示了Feign的负载均衡功能以及在服务降级情况下的处理机制,强调了Feign与 Ribbon 和 Hystrix 的整合应用。

961

被折叠的 条评论
为什么被折叠?



