Spring RestTemplate具備負載均衡功能


   創建RestTemplate的Bean時使用@LoadBalanced注解, 就可以自動配置為使用ribbon。如下面的示例所示:

@Configuration
public class MyConfiguration {

    @LoadBalanced
    @Bean
    RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

public class MyClass {
    @Autowired
    private RestTemplate restTemplate;

    public String doOtherStuff() {        //注意:代碼中的url要使用服務名,而不是主機名
        String results = restTemplate.getForObject("http://stores/stores", String.class);
        return results;
    }
}

  多個RestTemplate對象 

@Configuration
public class MyConfiguration {

    @LoadBalanced
    @Bean
    RestTemplate restTemplate() {
        return new RestTemplate();
    }

    @Primary
    @Bean
    RestTemplate restTemplate() {
        return new RestTemplate();
    }
}

public class MyClass {
    @Autowired
    private RestTemplate restTemplate;
    
    @LoadBalanced
    @Autowired
    private RestTemplate restTemplateLoadBalanced;
    

    public String doOtherStuff() {        //注意:代碼中的url要使用服務名,而不是主機名
        String results = restTemplate.getForObject("http://stores/stores", String.class);
        return results;
    }
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM