了解SpringCloud

一、springCloud的核心组建

  1. Eureka,注册中心
  2. Feign,服务调用
  3. Ribbon,负载均衡
  4. Hystrix,隔离、熔断以及降级
  5. Zuul,网关路由

二、Spring Cloud核心组件:Eureka

  • 以订单服务来说明,订单服务需要1.更新订单数据库为已支付;2.扣减库存商品数;3.通知仓储发货;4.调用积分服务
  • Eureka是CS架构,EurekaClient负责将服务的信息注册到EurekaServer上;EurekaServer为注册中心,维护注册表,保存各个服务的ip和端口以及集成其他的配置信息

        

三、Spring Cloud核心组件:Feign

Feign本质就是动态代理的实现,通过它完成服务建立连接、构造请求、发起靕求、获取响应、解析响应等一些麻烦的操作,大大减少开发成本

订单服务调用仓库服务为例:

 四、Spring Cloud核心组件:Ribbon

        每个服务可以有单体和集群之分,集群可以有多个节点,Feign请求仓库服务集群,如何分配节点,需要Ribbon来负载均衡,Ribbon位于在调用端,集成在NacosClient或者EurekaClient。

  五、Spring Cloud核心组件:Hystrix

  • 业务流程需要调用多个甚至上百个服务,由于服务的不可用,出现等待时间过长或报错等原因,导致业务流程挂掉或等待,造成业务的不可用或长时间等待,在高并发时容易出现资源消耗峰值,出现雪崩致使整个系统挂掉 ;        

 

  • Hystrix支持隔离、熔断以及降级来保证业务流程的可用性
  1. 隔离基于线程池,会给每个服务分配一个线程池
  2. 熔断是某个服务出现不可用(满足不可用策略)时,服务直接返回
  3. 降级是服务出现熔断时返回托底数据或者对服务持久化,以后再手动恢复

   五、Spring Cloud核心组件:Zuul

        zuul使用场景:作为服务网关,前端请求后端,请求负载均衡、熔断、降级,权限校验等,前端只要使用固定的地址。

        zuul位置:服务端,对于不同的策略指定相应的节点。

  

转载于:拜托!面试请不要再问我Spring Cloud底层原理 - 掘金

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值