仓库源文.md),站点原文)


layout: post title: "SpringCloud微服务架构之服务消费者" categories: SpringCloud tags: Ribbon

author: 张乘辉

下面我来简单介绍如何在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

这个是设置负载均衡的超时时间的。