版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yueloveme/article/details/84727345
给大家推荐个靠谱的公众号程序员探索之路,大家一起加油
1.修改80消费者项目
1.1修改pom
<!-- Ribbon相关 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
1.2修改application.yml
server:
port: 80
eureka:
client:
register-with-eureka: false
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
1.3修改类
configbean
@Bean
@LoadBalanced//spring cloud ribbon 是基于netflix bibbon 实现的一套客户端 负载均衡的工具
public RestTemplate getRestTemplate(){
return new RestTemplate();
}
启动类
@SpringBootApplication
@EnableEurekaClient
public class DeptConsumer80
{
public static void main( String[] args )
{
SpringApplication.run(DeptConsumer80.class, args);
}
}
控制器
// private final static String REST_URL_PREFIX = "http://localhost:8001/api/dept";
private final static String REST_URL_PREFIX = "http://CLOUD-PROVIDER-DEPT/api/dept";
2.启动测试先 启动 3个eureka集群,再启动8001项目,最后启动80项目,测试接口
3.负载均衡测试
3.1新建项目8002,8003,注意数据库,端口,微服务自定义名字更改其他和8001一样
3.2怎么看负载均衡后的结果,请求80任意一个接口然后你会看到结果会是三个库里的数据顺序出现
3.3ribbon工作的大概步骤
第一步先选择EurekaServer,它优先选择在同一个区域内负载较少的server。
第二步:再根据用户指定的策略,从server取到的服务注册列表中选择一个地址。其中ribbon提供了多种策略:日入轮询,随机和根据相应时间加权