0
点赞
收藏
分享

微信扫一扫

SpringCloud搭建Eureka服务以及服务发现、负载均衡

得一道人 2022-02-17 阅读 69

1.新建maven模块,pom中添加eureka服务端依赖

<dependency>
     <!--eureka服务端-->
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
 </dependency>

2.EurekaApplication类中添加Eureka启动注解@EnableEurekaServer

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class,args);
    }
}

3.application.yml中配置eureka服务名称和地址信息

server:
  port: 10086 #端口号
spring:
  application:
    name: eurekaserver #eureka的服务名称
eureka:
  client:
    service-url: #eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka

4.负载均衡加一个注解即可,在远程调用RestTemplate方法上加@LoadBalanced注解实先负载均衡

@Bean
@LoadBalanced
public RestTemplate restTemplate(){
    return new RestTemplate();
}

5.服务发现,将远程调用的url地址换成其他服务的服务名称 

public Order queryOrderById(Long orderId) {
    // 1.查询订单
    Order order = orderMapper.findById(orderId);
    // 2.利用RestTemplate发起http请求,查询用户
    // 2.1 url路径
    //String url = "http://127.0.0.1:10086/user" + order.getUserId();
    String url = "http://userservice/user/" + order.getUserId();
    //2.2 发送http请求,实现远程调用
    User user = restTemplate.getForObject(url, User.class);
    //3.封装user到Order
    order.setUser(user);
    // 4.返回
    return order;

 

举报

相关推荐

0 条评论