搭建Eureka服务,实现负载均衡

发布时间 2023-12-19 19:21:19作者: 凌碎瞳缘

服务器引入依赖

<!--        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;
}