18
Spring Cloud系列教程三 :声明式服务调用Spring Cloud Fegin(F版)
source link: https://blog.csdn.net/zzti_erlie/article/details/104093198
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Feign集成了Ribbon,让客户端具有负载均衡的能力,同时简化了开发
github地址:https://github.com/erlieStar/spring-cloud-learning
1.项目配置如下
pom.xml
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
application.yaml
server: port: 9001 spring: application: name: consumer-feign eureka: client: service-url: defaultZone: http://localhost:7001/eureka
2.启动类加上@EnableFeignClients注解开启Feign的功能
3.定义接口,通过@FeignClient(服务名)来指定调用哪个服务
@RestController @EnableEurekaClient @EnableFeignClients @SpringBootApplication public class ConsumerFeign { public static void main(String[] args) { SpringApplication.run(ConsumerFeign.class); } @Autowired private SimpleClient simpleClient; @FeignClient(value = "producer-simple") public interface SimpleClient { @RequestMapping("hello") String hello(@RequestParam String name); } @RequestMapping("hello") public String hello(@RequestParam String name) { return simpleClient.hello(name); } }
启动eureka-service(spring-cloud-eureka)
接着启动2个producer-simple(spring-cloud-ribbon)
初始端口为8001,启动一个实例后,修改端口为8002,再启动一个实例
访问http://localhost:9001/hello?name=xiaoshi
交替显示
hello xiaoshi, I am from port: 8001 hello xiaoshi, I am from port: 8002
欢迎关注
参考博客
[1]https://www.fangzhipeng.com/springcloud/2018/08/03/sc-f3-feign.html
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK