spring-cloud核心知识点简单回顾总结

云中志

共 4062字,需浏览 9分钟

 · 2021-08-09


前言

本周,我们围绕spring cloud常用组件,分享了一些知识点,今天花点时间,简单回顾总结一下。

本周总分分享了四个核心组件,其中包括注册中心组件eureka、负载均衡组件ribbon/feign、断路器组件hystrix以及应用网关组件zuul,其中最核心的就是注册中心eureka,至于原因想必大家都能猜出来,因为其他几个组件的功能实现基本上都是依赖于eureka展开的,可以说离开了eureka注册中心,其他组件基本上都无法正常工作了。

回顾总结

今天回顾的方式也是从一张脑图开始,这张脑图主要展示了各个组件的启用流程和步骤,需要脑图源文件的小伙伴,公众号回复【spring-cloud总结】即可获取。

内容纲要

注册中心
eureka
  • 服务端

    • 注册服务器主机名称

      eureka.instance.hostname
    • 是否注册给服务中心

      eureka.client.register-with-eureka
    • 是否检索服务

      eureka.client.fetch-registry
    • 治理客户端服务域

      eureka.client.service-url.defaultZone
    • 引入依赖

      spring-cloud-starter-netflix-eureka-server
    • 启用组件

      @EnableEurekaServer
    • 核心配置

eureka客户端
  • 服务发现/注册

    • 如果需要spring cloud监测服务运行状态,需要引入监控组件

      spring-boot-starter-actuator
    • 同服务端,通常我们只配置注册中心的地址

      eureka.client.service-url.defaultZone
    • 低版本需要启用

      @EnableDiscoveryClient
    • 引入依赖

      spring-cloud-starter-netflix-eureka-client
    • 启用组件

    • 核心配置

    • 其他

负载均衡
ribbon
  • 引入依赖

    spring-cloud-starter-netflix-ribbon
    • 引入eureka客户端组件及配置
  • 注入RestTemplate

    • 在注入RestTemplate时,在实例方法上加上负载均衡注解

      @LoadBalanced
  • 通过RestTemplate访问相关访问

    • 访问服务时需要指定服务id
feign
  • 声明式调用

    • 指定服务id

      @FeignClient("user-service")
    • 指定接口

    • @GetMapping("/user/{id}")
    • 方法入参

    • 引入依赖

      spring-cloud-starter-openfeign
    • 引入eureka客户端组件及配置

    • 启用组件

      @EnableFeignClients
    • 声明目标服务接口

    • 注入声明接口,并调用

网关
zuul
  • 核心依赖

     spring-cloud-starter-netflix-zuul
  • 引入eureka客户端组件及配置

  • 启用组件

    @EnableZuulProxy
  • 服务访问

    • 通过应用网关访问所有服务
    • 访问地址:应用网关服务地址+服务注册id + 接口地址
  • 扩展知识

    • 配置访问规则

      zuul.routes.product-service.path
    • 配置服务地址

      zuul.routes.product-service.url
    • 指定服务id

      zuul.routes.product-service.service-id
熔断器
hystrix
  • 核心依赖

    spring-cloud-starter-netflix-hystrix
  • 启用组

     @EnableCircuitBreaker
  • 接口启用熔断机制

    • 可以在注解中指定熔断回调方法

      @HystrixCommand(fallbackMethod = "error")
    • 可以设定熔断相关配置

    • 超时时间
    • 对应方法增加@HystrixCommand注解

hystrix-dashboard
  • 核心依赖

    spring-cloud-starter-netflix-hystrix-dashboard
  • 启用组件

    @EnableHystrixDashboard
  • 添加监控主机

    • turbine集群

      https://turbine-hostname:port/turbine.stream
    • turbine集群中某一个节点

      https://turbine-hostname:port/turbine.stream?cluster=[clusterName]
    • 单节点

      https://hystrix-app:port/actuator/hystrix.stream
    • 客户端引入actuator监控组件

    • 添加主机地址

总结

好了,回顾总结就到这里,今天主要是把之前的知识点过一遍,梳理一下加深下相关知识的印象,如果还有小伙伴已经忘记了,可以点击下面相关知识的链接进行回顾:

- END -


浏览 14
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报