SpringCloud Ribbon负载均衡工具使用
Spring Cloud Ribbon
是一个基于HTTP和TCP的客户端负载均衡工具
实操
创建两个provider,并且编写两个一样的接口,再创建一个consumer去访问该接口进行轮询调用
项目结构:
provider-01与provider-02都是创建Client
模块,并且创建controller
编写接口
@RestController public class ProviderController { @GetMapping("pengke") public String pengke(){ return "我是碰磕接口2222"; } }
@RestController public class ProviderController { @GetMapping("pengke") public String pengke(){ return "我是碰磕接口1111"; } }
consumer02模块则是使用ribbon
进行轮询调用接口
依赖:
<!-- ribbon依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-ribbon</artifactId> <scope>2.2.9.RELEASE</scope> </dependency>
Application
启动类中编写一个@Bean
减少多次new该对象
关键注解:@LoadBalanced
/** *编写防止多次new * loadBalanced 会呗ribbon来操作 */ @Bean @LoadBalanced public RestTemplate restTemplate(){ return new RestTemplate(); }
controller
中编写接口用于访问另外两个模块的接口
由于在启动类中编写了RestTemplate
所以通过@Autowired
注入即可
通过ribbon
实现了通过访问http://服务名/请求地址
接口实现轮询访问另外两个模块的接口!
@Autowired private RestTemplate restTemplate; @GetMapping("testRibbon") public String testRibbon(String serviceName){ String result=restTemplate.getForObject("http://"+serviceName+"/pengke",String.class); return result; }
这就是ribbon
的应用~下一篇学习Feign(它集成了ribbon)
到此这篇关于SpringCloud Ribbon负载均衡工具使用的文章就介绍到这了,更多相关SpringCloud Ribbon内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
IntelliJ IDEA 2023版本创建Spring项目时Java只能选择17或21的问题解决方法
spring-boot是一个基于Java的开源框架,用于快速构建生产级别的应用程序,这篇文章主要给大家介绍了关于IntelliJ IDEA 2023版本创建Spring项目时Java只能选择17或21的问题解决方法,需要的朋友可以参考下2024-07-07ShardingSphere JDBC强制路由使用的项目实践
在某些特定场景下,可能需要绕过分片规则直接定位到特定的数据库或表,这种情况下就可以使用HintRouting,本文就来介绍一下ShardingSphere JDBC强制路由使用的项目实践,感兴趣的可以了解一下2024-06-06Spring事务控制策略及@Transactional失效问题解决避坑
这篇文章主要为大家介绍了Spring事务控制策略及@Transactional失效问题解决避坑,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-06-06
最新评论