简单的搭建ribbon
ribbon
**比如ABC是三个不同的用户,A每天早上用宽带,B是中午,C是下午,如果给每个人连接一个100明白宽带,ABC三个人一天中使用存在很大的资源浪费。如果将三个100mb的宽带合成一个300mb的宽带给三个人使用。不仅可以提升网速,还可以减少资源消耗。
Ribbon也是这个原理,比如十万个人请求同一个服务端,那么应该回奔溃,这时候ribbon作用就是将这十万个请求分配到起到不同到服务端进行减轻服务器的压力。,
在原有的项目基础上,在8001端口项目添加依赖
<!--加入负载均衡依赖ribbon-->
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-ribbon -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
<!--配置eurake客服端依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
编写配置类
@Configuration
public class ConfigBena {
@Bean
@LoadBalanced //因为请求都是通过RestTemplate进行请求,所以加上这个注解可以实现负载均衡
public RestTemplate restTemplate(){
return new RestTemplate();
}
}
配置文件的配置
spring.application.name=constumers-80
#不想eurake注册自己(默认是ture)
eureka.client.register-with-eureka=false
#请求的注册端口
eureka.client.service-url.defaultZone=http://localhost:7001/eureka/
如果你是集群配置,需要在eureka.client.service-url.defaultZone后面跟上你现在配置所有的eurake
接着是contreller
这个地方只需要修改之前的服务端的端口:
private static final String RESET_URL_PREFIX=“http://SPRINGCLOUDS-PROVIDERS-8001”;
其中SPRINGCLOUDS-PROVIDERS-800是8001端口配置的spring.application.name=springclouds-providers-8001
(这样写的目的,比如我们现在有三十个eruake,8001端口注册到三十个eurake,不可能写成 private static final String RESET_URL_PREFIX=三十个eruake的url吧。。所有直接用8001注册的到eurake的Id回自动路由当前的路径)
最后编写启动类
@SpringBootApplication
@MapperScan("constumer")
@EnableEurekaClient
public class ApplicationConsturmer80 {
public static void main(String[] args) {
SpringApplication.run(ApplicationConsturmer80.class);
}
}