接口+注解
微服务调用接口+@FeignClient
Feign自带负载均衡配置项
假设现在有8001 8002 俩个端口有业务如下:
即查询数据库 的业务处理部分

version已经交给父工程管理
-
-
- <properties>
- <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
- <maven.compiler.source>1.8maven.compiler.source>
- <maven.compiler.target>1.8maven.compiler.target>
- <junit.version>4.12junit.version>
- <log4j.version>1.2.17log4j.version>
- <lombok.version>1.16.18lombok.version>
- <mysql.version>8.0.16mysql.version>
- <druid.version>1.1.16druid.version>
- <mybatis.spring.boot.version>1.3.0mybatis.spring.boot.version>
- properties>
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <parent>
- <artifactId>mscloud03artifactId>
- <groupId>com.atguigu.springcloudgroupId>
- <version>1.0-SNAPSHOTversion>
- parent>
- <modelVersion>4.0.0modelVersion>
-
- <artifactId>cloud-consumer-feign-order80artifactId>
-
- <dependencies>
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-openfeignartifactId>
- dependency>
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
- dependency>
-
- <dependency>
- <groupId>com.atguigu.springcloudgroupId>
- <artifactId>cloud-api-commonsartifactId>
- <version>${project.version}version>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- dependency>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-actuatorartifactId>
- dependency>
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-devtoolsartifactId>
- <scope>runtimescope>
- <optional>trueoptional>
- dependency>
- <dependency>
- <groupId>org.projectlombokgroupId>
- <artifactId>lombokartifactId>
- <optional>trueoptional>
- dependency>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-testartifactId>
- <scope>testscope>
- dependency>
- dependencies>
-
-
- project>
注册中心由 eureka提供在7001 7002端口
- server:
- port: 80
-
- eureka:
- client:
- register-with-eureka: false
- service-url:
- defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
- @SpringBootApplication
- @EnableFeignClients
- public class OrderFeignMain80 {
- public static void main(String[] args)
- {
- SpringApplication.run(OrderFeignMain80.class,args);
- }
- }
- @Component
- @FeignClient(value = "CLOUD-PAYMENT-SERVICE")
- public interface PaymentFeignService
- {
- @GetMapping(value = "/payment/get/{id}")
- CommonResult
getPaymentById(@PathVariable("id") Long id); - }
@FeignClient(value = "CLOUD-PAYMENT-SERVICE") 括号里面的值就是8001 8002 的服务程序名称
- @RestController
- public class OrderFeignController
- {
- @Resource
- private PaymentFeignService paymentFeignService;
-
- @GetMapping(value = "/consumer/payment/get/{id}")
- public CommonResult
getPaymentById(@PathVariable("id") Long id) - {
- return paymentFeignService.getPaymentById(id);
- }
- }
http://localhost/consumer/payment/get/31
第一次

第二次:

可以发现已经实现轮询