1.Eureka

  1)Eureka服务治理体系支持跨平台

  2)三个核心概念:服务注册中心、服务提供者以及服务消费者

  3)服务续约:注册完服务之后,服务提供者会维护一个心跳来不停的告诉Eureka Server:“我还在运行”以防止Eureka Server将该服务实例从服务列表中剔除,这个动作称之为服务续约,和服务续约相关的属性有两个,如下:

eureka.instance.lease-expiration-duration-in-seconds=90
eureka.instance.lease-renewal-interval-in-seconds=30

 2.客户端负载均衡,服务端负载均衡

  1)目的:是我们处理高并发、缓解网络压力和进行服务端扩容的重要手段之一

  2)区别:在于服务清单所存储的位置,所有的客户端节点都有一份自己要访问的服务端清单,这些清单统统都是从Eureka服务注册中心获取的

  3)服务端负载均衡:硬件负载均衡,还有一种是软件负载均衡,都会维护一个可用的服务端清单,然后通过心跳机制来删除故障的服务端节点以保证清单中都是可以正常访问的服务端节点

  4)客户端负载均衡:上一篇关于springcloud服务的生产与消费中使用的就是客户端负载均衡,开启@LoadBalanced注解即可实现springcloud客户端负载均衡

3.RestTemplate中几种常见的请求方式

  这个类的功能很强大

  1)Get请求

    i).getForEntity:返回值是一个ResponseEntity<T>ResponseEntity<T>是Spring对HTTP请求响应的封装,包括了几个重要的元素,如响应码、contentType、contentLength、响应消息体等

@RequestMapping("/gethello")
public String getHello() {
    ResponseEntity<String> responseEntity = restTemplate.getForEntity("http://HELLO-SERVICE/hello", String.class);
    String body = responseEntity.getBody();
    HttpStatus statusCode = responseEntity.getStatusCode();
    int statusCodeValue = responseEntity.getStatusCodeValue();
    HttpHeaders headers = responseEntity.getHeaders();
    StringBuffer result = new StringBuffer();
    result.append("responseEntity.getBody():").append(body).append("<hr>")
            .append("responseEntity.getStatusCode():").append(statusCode).append("<hr>")
            .append("responseEntity.getStatusCodeValue():").append(statusCodeValue).append("<hr>")
            .append("responseEntity.getHeaders():").append(headers).append("<hr>");
    return result.toString();
}
View Code

相关文章:

  • 2022-12-23
  • 2021-12-03
  • 2021-06-23
  • 2022-12-23
  • 2022-01-19
猜你喜欢
  • 2021-04-22
  • 2022-01-20
  • 2021-11-09
  • 2021-09-13
  • 2021-06-18
  • 2022-12-23
  • 2021-10-18
相关资源
相似解决方案