spring cloud alibaba 基本负载均衡(-)

1、依赖项:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>

        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>

2、配置restTemplate:

        1、启动类中配置

  @Bean
    @LoadBalanced // 添加负载均衡的机制,默认使用的是轮询策略
    public RestTemplate restTemplate(RestTemplateBuilder builder){
        return builder.build();
    }

           2、配置类中配置:   

@Configuration
public class RestConfig {

    @Bean
    @LoadBalanced // 添加负载均衡的机制,默认使用的是轮询策略
    public RestTemplate restTemplate(RestTemplateBuilder builder){
        return builder.build();
    }
}

以上两种方式只能选择一种进行配置。否则配置bean 重复:

        

The bean 'restTemplate', defined in com.lemon.alibaba.OrderApplication, could not be registered. A bean with that name has already been defined in class path resource [com/lemon/alibaba/config/RestConfig.class] and overriding is disabled.

3、调用:


@RestController
@RequestMapping("/order")
public class IndexController {

    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/index")
    public  String index(){
        String sstr = restTemplate.getForObject("http://stock-service/stock/index",String.class);
        return "ok=" + sstr;
    }

}

4、地址说明:

        

String sstr = restTemplate.getForObject("http://stock-service/stock/index",String.class);

stock-service为被调用服务的服务名

server:
  port: 9001

spring:
  application:
    name: stock-service

  cloud:
    nacos:
      server-addr: 127.0.0.1:8848
      discovery:
        username: nacos
        password: nacos

猜你喜欢

转载自blog.csdn.net/qq_31319235/article/details/121377800