1.创建springboot工程
<dependencies>
<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-feign</artifactId>
<version>1.4.5.RELEASE</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2.配置服务
#端口号
server.port=8200
spring.application.name=eureka-consume
#使用ip地址注册
eureka.instance.prefer-ip-address=true
#服务注册地址
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
3.编写负载均衡配置类RibbonConfig
//负载均衡模式修改,默认为轮询模式
@Configuration
public class RibbonConfig {
@Bean
public IRule ribbonRule(){
//改为随机模式
return new RandomRule();
}
}
4.编写RestTemplateConfig配置类,生成restTemplate对象
@LoadBalanced 为负载均衡
@Configuration
public class RestTemplateConfig {
@LoadBalanced
@Bean
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
5,消费服务
@RestController
public class UserController {
@Resource
RestTemplate restTemplate;
@RequestMapping("/buy")
public String buy(){
String s = restTemplate.getForObject
("http://EUREKAPROVIDE/placeOrder",String.class);
System.out.println(s);
return s;
}
}
6.成功调取了另一个工程的接口
启动器注解
@EnableDiscoveryClient
@SpringBootApplication