继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

spring cloud 服务消费者+ribbon 均衡策略配置

Frank丶
关注TA
已关注
手记 2
粉丝 0
获赞 4

基于上篇文章 重新创建一份 eureka client 设置端口为 8573 其余不变。启动控制台显示 有两个同名服务已经注册到服务中心.
图片描述

开始创建服务消费中心.
新建springboot工程 添加 eureka,ribbon,web
修改配置文件

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
server:
  port: 8764
spring:
  application:
    name: service-ribbon

将该服务器同样注册到服务中心.

在工程的启动类中,通过@EnableDiscoveryClient向服务中心注册;并且向程序的ioc注入一个bean: restTemplate;并通过@LoadBalanced注解表明这个restRemplate开启负载均衡的功能。

@SpringBootApplication
@EnableDiscoveryClient
public class RibbonApplication {

    public static void main(String[] args) {
        SpringApplication.run(RibbonApplication.class, args);
    }

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

新建controller 和service

@RestController
public class RibbonController {

    private Logger logger= LoggerFactory.getLogger(RibbonController.class);

    @Autowired
    private HelloService helloService;

    @RequestMapping(value = "/ribbon")
    public Object ribbonTestRequest(){
        return helloService.ribbonTest();
    }

}
@Service
public class HelloService {

    private Logger logger= LoggerFactory.getLogger(HelloService.class);

    @Autowired
    RestTemplate restTemplate;

    public Object ribbonTest(){
        return restTemplate.getForObject("http://service-hi/hello?say=大家好",Object.class);
    }

}

服务已经注册到中心
这时我们重复请求 http://admin_pc:8764/ribbon
请求已经通过ribbon 发送到 eurake client
图片描述
ribbon 负载均衡策略配置
配置文件中添加:

#ribbon 负载均衡策略配置
service-hi:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

参考地址:
spring-cloud-ribbon
csdn

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

热门评论

为什么我切404 那个ribbon 已经在服务注册了 但却访问不到

查看全部评论