SpringCloud自学入门-服务发现与消费并实现负载均衡

1.我们通过java -jar的方式启动两个不同端口的hello-service项目

java -jar E:\ideaWork\cloudLearn\eureka-client\target\eureka-client-0.0.1-SNAPSHOT.jar --server.port=8081

java -jar E:\ideaWork\cloudLearn\eureka-client\target\eureka-client-0.0.1-SNAPSHOT.jar --server.port=8082

然后打开服务中心,发现有两个hello-service实例启动

2.新建ribbon-consumer项目。pom文件中增加对ribbon的依赖

 

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>

<dependency>
   <groupId>org.springframework.cloud</groupId>
   <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

3.在启动类上增加@EnableDiscoveryClient注解将其注册成客户端,并且创建RestTemplte的spring bean实例,并且通过@LoadBanlanced注解实现负载均衡

 

 

@SpringBootApplication
@EnableDiscoveryClient
public class RibbonConsumerApplication {
    @Bean
    @LoadBalanced
    RestTemplate restTemplate(){
        return new RestTemplate();
    }
   public static void main(String[] args) {
      SpringApplication.run(RibbonConsumerApplication.class, args);
   }
}

 

创建ConsumerController类,通过上面的RestTemplate对hello-service服务的调用

 

@RestController
public class ConsumerController {
    @Autowired
    private RestTemplate restTemplate;

    @RequestMapping("/ribbon-consumer")
    public String helloConsumer(){
        return restTemplate.getForEntity("http://hello-service/hello",String.class).getBody();
    }

}

这里可以看到调用服务用的是服务名hello-service

 

4.启动项目,向ribbon-consumer项目发送请求,不断刷新会看到两个hello-service项目控制台轮流打印相关日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值