springcloud--ribbo(负载均衡)
ribbo:是Netflix公司开源的一个负载均衡的项目,是一个客户端负载均衡器,运行在客户端上。
实际运用案例(基于springcloud入门案例):
一、新建Module:springcloud-consumer-ribbon
1:添加依赖
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
<!-- eureka客户端 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
2:修改配置文件(在src/main/resources下创建application.yml文件):
①配置端口号:
server:
port: 6001
②配置注册中心eureka:
3:启动类(App):
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
3、控制器(UserController):
@Autowired
private RestTemplate restTemplate;
@RequestMapping("/hi")
public Map<String,Object> hello(){
return restTemplate.getForObject("http://provider-one/hello", Map.class);
}
provider-one:是你提供者配置文件中spring.application.name的值
hello:是你提供者的提供的方法名字。
提供的负载均衡算法:
修改负载均衡算法(2种):
添加一个方法:
IRule loadBalanceRule(){
return new RandomRule();
}
修改配置文件:
MICRO-SERVICE:服务名字
ribbon:
NFLoadBanlanceRuleClassName:
实现负载均衡:
启动多个提供者(端口号不一致)
最新文章
- Oracle11g中数据的倒库和入库操作以及高版本数据导入低版本数据可能引发的问题
- Yocto开发笔记之《驱动调试-华为3G模块》(QQ交流群:519230208)
- CISCO系列交换机如何清空配置
- JMeter正则表达式-学习(3)
- 【腾讯云】腾讯云服务器搭建ftp服务器
- C# Like参数化 小记
- Ffmpeg 定位文件(seek file)
- 浅谈页面无刷新技术ajax
- android 卸载程序、清除数据、停止服务用法
- (转)Collections类方法详解
- win10 uwp DataContext
- PHP开发者必须了解的9个魔术方法
- SSH2三大框架SQL查询
- 在Github上为项目添加多个用户
- 面试题之(vue生命周期)
- python---顺序查找,二分查找
- css实现圆形头像
- SQLAlchemy Table(表)类方式 - Table类和Column类
- CCF CSP 201703-4 地铁修建
- Codeforces Round #555 (Div. 3) C2. Increasing Subsequence (hard version)【模拟】
热门文章
- Docker如何使用nginx搭建tomcat集群
- windows系统桌面美化
- js读取本地json/txt/xml存在跨越问题,可以用jsonp 读取本地json文件
- IntelliJ IDEA Debug模式启动项目
- 【快学springboot】11.整合redis实现session共享
- android studio升级之后项目报错Could not find com.android.tools.build:aapt2:3.2.1-4818971
- C 随机数产生
- centos7-django(python3)环境搭建
- Hadoop入门概念
- Java 推荐读物与源代码阅读