服务器引入依赖
<!-- eureka服务器依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
客户端引入依赖
<!-- eureka客户端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
服务端配置
server:
port: 10086 #服务端口
spring:
application:
name: eurekaserver #eureka的服务名称
eureka:
client:
service-url: #eureka的地址信息
defaultZone: http://127.0.0.1:10086/eureka
客户端配置
spring:
application:
name: orderservice #客户端名称
eureka:
client:
service-url: #eureka的地址信息
defaultZone: http://127.0.0.1:10086/eureka #服务器的ip地址
服务端启动类中,开启EurekaServer服务
@EnableEurekaServer //开启EurekaServer服务
@SpringBootApplication
public class EurekaApplication {
public static void main( String[] args ) {
SpringApplication.run(EurekaApplication.class,args);
}
}
在restTemplate中,添加负载均衡注解
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
return new RestTemplate();
}
@Autowired
private RestTemplate restTemplate;
public Order queryOrderById(Long orderId) {
// 1.查询订单
Order order = orderMapper.findById(orderId);
User user = new User();
String url = "http://userservice/user/"+order.getUserId(); //userservice是前面配置的客户端或服务端名称
order.setUser(restTemplate.getForObject(url,User.class));
// 4.返回
return order;
}