springcloud ribbon 简单使用(入门系列)

springcloud 版本  Hoxton.RELEASE

springboot 版本 2.2.2.RELEASE

一、简单介绍(相关原理后续学习)

Ribbon:提供客户端侧负载均衡算法,默认轮询(Feign中自带ribbon,不需导入依赖)
工作流程:
1、选择Eureka Server(优先选择在同一个Zone且负载较少的Server)
2、根据用户指定的策略(Ribbon提供),从Server取到的服务注册列表中选择一个地址
region:可以简单理解为地理上的分区
zone:可以简单理解为region内的具体机房

二、使用

pom文件添加Jar

   
            org.springframework.cloud
            spring-cloud-starter-netflix-ribbon
            2.2.0.RELEASE
        

调用服务

package com.zzh.elite.ribbon.service;

import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
@Slf4j
@Service
public class EurekaRibbonService {
    @Autowired
    RestTemplate restTemplate;
    @HystrixCommand(fallbackMethod = "getDefaultUser")
    public String getInfo(){
        String message;
            log.info("调用服务 doc");
            message = restTemplate.getForObject("http://DOC/doc-service/ribbon/test",String.class);
            log.info("调用服务 返回信息:"+message);
        return message;
    }
    public String getDefaultUser() {
        log.info("熔断,默认回调函数");
        return "服务调用失败";
    }
}

其中  

http://DOC/doc-service/ribbon/test

里面的 DOC是服务在注册中心注册的服务名 

你可能感兴趣的:(ribbon,springcloud,ribbon)