理解:feign集成了Ribbon(Ribbon时客户端负载均衡),客户端使用了@FeignClient注解,通过负载均衡算法已经选择好了生产者地址
无法理解的客官请移步 【nacos】2.1 Spring Cloud服务协作流程 ,了解服务器端负载均衡和 客户端负载均衡的介绍
pom文件,版本对应关系参考官网 https://spring.io/projects/spring-cloud
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-alibaba-dependenciesartifactId>
- <version>2.2.8.RELEASEversion>
- <type>pomtype>
- <scope>importscope>
- dependency>
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-dependenciesartifactId>
- <version>Hoxton.SR12version>
- <type>pomtype>
- <scope>importscope>
- dependency>
- spring:
- application:
- name: baseserver
- cloud:
- nacos:
- discovery:
- server-addr: 47.104.188.88:8848
- server:
- port: ${prot:20010} # 这里设置启动输入参数,方便启动多次,默认20010
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- dependency>
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
- dependency>
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-openfeignartifactId>
- dependency>



1.声明Feign客户端
- @FeignClient(value = "baseserver")
- public interface BaseserverClient {
-
- *根据用户名查询账号信息
- @param username用户名
- *@return账号信息
- */
- @GetMapping(value = "/service")
- public String service();
- }
2.业务调用
- @Autowired
- private BaseserverClient baseserverClient;
-
- public void method(){
- baseserverClient.service();//即可调用
- }