首页 综合信息内容详情

Spring RestTemplate作为负载平衡器客户端

2021-11-17 7 bkywlkj

  RestTemplate可以自动配置为使用功能区 。要创建负载平衡RestTemplate创建RestTemplate @Bean并使用@LoadBalanced限定符 。

  警告

  通过自动配置不再创建RestTemplate bean。它必须由单个应用程序创建。

  @Configuration

  public class MyConfiguration {

  @LoadBalanced

  @Bean

  RestTemplate restTemplate() {

  return new RestTemplate();

  public class MyClass {

  @Autowired

  private RestTemplate restTemplate;

  public String doOtherStuff() {

  String results = restTemplate.getForObject(");

  return results;

  URI需要使用虚拟主机名(即服务名称 ,而不是主机名) 。Ribbon客户端用于创建完整的物理地址。有关 如何设置RestTemplate的详细信息 ,请参阅 RibbonAutoConfiguration。

  重试失败的请求

  负载平衡RestTemplate可以配置为重试失败的请求 。默认情况下,该逻辑被禁用,您可以通过将Spring重试添加到应用程序的类路径来启用它。负载平衡RestTemplate将符合与重试失败请求相关的一些Ribbon配置值。如果要在类路径中使用Spring重试来禁用重试逻辑 ,则可以设置spring.cloud.loadbalancer.retry.enabled=false 。您可以使用的属性是client.ribbon.MaxAutoRetries,client.ribbon.MaxAutoRetriesNextServer和client.ribbon.OkToRetryOnAllOperations。请参阅Ribbon文档 ,了解属性的具体内容。

  注意

  上述示例中的client应替换为您的Ribbon客户端名称 。

相关标签: # RestTemplate # Ribbon # 创建 # 使用

 暂无评论,快来抢沙发吧~

发布评论