layout: post title: "SpringCloud微服务架构之服务消费者" categories: SpringCloud tags: Ribbon
下面我来简单介绍如何在SpringCloud分布式系统下使用Ribbon来实现负载均衡。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
@EnableDiscoveryClient
@SpringBootApplication
public class WebGatewayApplication {
@Bean
@LoadBalanced
RestTemplate restTemplate() {
return new RestTemplate();
}
public static void main(String[] args) {
SpringApplication.run(WebGatewayApplication.class, args);
}
}
RestTemplate类是Spring用于构建Restful服务而提供的一种Rest服务可客户端,RestTemplate 提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效率,所以很多客户端比如 Android或者第三方服务商都是使用 RestTemplate 请求 restful 服务。
spring.application.name=integral-server
server.port=9600
eureka.client.serviceUrl.defaultZone=http://localhost:9100/eureka/
JSONObject integralServerResult = restTemplate.postForObject("http://integral-server/shop/add", RequestHandler.getRestRawRequestEntity(integralShopJson), JSONObject.class);
这样就可以调用integral-server系统的添加用户的接口实现在别的系统中添加用户了。
###### Ribbon
ribbon.ReadTimeout=60000
这个是设置负载均衡的超时时间的。