springcloud应用之ribbon

news/2024/7/9 23:39:49 标签: ribbon, eureka, springcloud, 负载均衡

文章目录

springcloudribbon_1">springcloud应用之ribbon

阅读提示

请先阅读eureka

ribbon_4">ribbon是什么

ribbon是netflix提供的一个用来解决客户端负载均衡的组件

ribbon_6">ribbon的使用

@Configuration
public class AppConfig {

    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
	//可不写rule,有默认的,应该是轮询
    @Bean
    public IRule myRule(){
        return new RetryRule();
    }
}

调用方式

@RestController
public class UserController {

    @Autowired
    private RestTemplate restTemplate;

    @RequestMapping("queryOrder")
    public String queryOrder(){
        ResponseEntity<String> response = restTemplate.getForEntity("http://order/order",String.class);
        return response.getBody();
    }
}

调用不同的微服务使用不同的算法

如果user模块想使用A负载均衡算法调用order,使用B算法调用money,可以使用如下办法:
先写两个配置文件

@Configuration
public class MoneyRuleConfig {
    @Bean
    public IRule rule(){
        return new RoundRobinRule();
    }
}

@Configuration
public class OrderRuleConfig {
    @Bean
    public IRule rule(){
        return new RandomRule();
    }
}

但是注意这两个config必须在启动类UserApplication所在包的外面,也就是compontScan包外面如图
在这里插入图片描述
可以看到config包和compontScan的 com.lry.eureka.user是平级关系
启动类加上

@RibbonClients({
        @RibbonClient(name = "money",configuration = MoneyRuleConfig.class),
        @RibbonClient(name = "order",configuration = OrderRuleConfig.class),
})

负载均衡算法

请见笔者另一篇博客
负载均衡


http://www.niftyadmin.cn/n/1037502.html

相关文章

Java C++ 实现第十二届蓝桥杯 C++ B组 省赛真题(希望能和各位佬能一起讨论算法题:讨论群:99979568)

山水有相逢 来日皆可期 告辞 虽然是C组的&#xff0c;但是和Java组的差不了两道题&#xff0c;大家都可以看一看 如有错误&#xff0c;还请佬 评论或私信指出&#xff08;写的稍些急&#xff09; 等后面在补充补充解题思路&#xff0c;在补一套C实现&#xff08;已完成&#xf…

springcloud应用之feign

文章目录springcloud应用之feign阅读提示feign是什么为什么需要feign如何使用springcloud应用之feign 阅读提示 项目地址 请先阅读ribbon feign是什么 feign是声明式的web service客户端&#xff0c;它让微服务之间的调用变得更简单了&#xff0c;类似controller调用servic…

河北专升本经验总结分享

专接本交流群&#xff1a;1051749714 &#xff08;有什么问题欢迎进群讨论&#xff0c;群文件有模拟卷&#xff09; 资料来源于网络&#xff0c;如有冒犯请联系删除 &#xff08;资料免费供给大家学习使用&#xff0c;禁止转出售卖&#xff0c;后果自负&#xff09; 建议看一下…

springcloud应用之hystrix

文章目录springcloud应用之hystrix阅读提示hystrix是什么为什么需要hystrix如何使用hystrix降级超时熔断限流hystrix整合feign获取order微服务的异常springcloud应用之hystrix 阅读提示 hystrix项目 请先阅读feign hystrix是什么 Hystrix是一个用于处理分布式系统的延迟和容…

springcloud应用之zuul

文章目录springcloud应用之zuul阅读提示zuul是什么为什么需要zuul单体zuul搭建负载均衡zuul搭建zuul过滤容错springcloud应用之zuul 阅读提示 zuul项目 请先阅读hystrix zuul是什么 zuul是netflix提供的一个有路由&#xff0c;过滤和容错回退功能的一个组件 路由功能负责将…

某Java大佬在地表最强Java企业(阿里)面试总结

面试题真的是博大精深&#xff0c;也通过这个面试题学到了很多东西&#xff0c;很多笔者也不是很懂&#xff0c;如有描述错误的地方还望大佬赐教&#xff0c; 每一次面试都可能问到相同的问题&#xff0c;一面问到&#xff0c;二三面还可能会问到&#xff0c;笔者认为这一点是整…

HTML空格符nbsp;失效

一般只要没有打错 你那应该用了flex布局 flex会影响一些语法 而且也会导致空格符实习失效 而且如果你设置了 white-space: nowrap; overflow: hidden; text-overflow:ellipsis; 会发现超出 部分会隐藏 但并不会出现省略号 flex还是会影响一些基础样式的 慎用

element ui el-collapse默认展开

这个文档讲的确实可以说根本就没有说 每个el-collapse-item都可以设置一个name 将el-collapse 的v-model绑定之设置成和el-collapse-item的name值 那么这个name的el-collapse-item就会默认展开 演示代码如下 <template><el-collapse v-model"activeName" a…