SpringCloud相关组件

举报
周杰伦本人 发表于 2022/07/27 14:09:37 2022/07/27
【摘要】 SpringCloud相关组件 注册中心 配置中心 负载均衡 熔断降级 总结 SpringCloud相关组件今天我们简单说一下springcloud,springcloud是我们生产中最流行的框架了,它的核心组件有:服务的注册和发现:eureka,nacos,zookeeper配置中心:SpringCloud Config,Apollo,nacos客户端负载均衡:ribbon,spring...

SpringCloud相关组件

今天我们简单说一下springcloud,springcloud是我们生产中最流行的框架了,它的核心组件有:

  • 服务的注册和发现:eureka,nacos,zookeeper
  • 配置中心:SpringCloud Config,Apollo,nacos
  • 客户端负载均衡:ribbon,springcloud loadbalancer
  • 网关:SpringCloud gateway,zuul
  • 服务熔断器:hystrix,Sentinel(阿里巴巴)
  • 服务接口调用:feign,resttemplate,openFeign
  • 链路追踪:sleuth,skywalking,pinpoint
  • 监控中心:SpringBoot Admin

这些差不多是springcloud需要涉及到的技术点,也是做微服务开发不可避免的点,微服务其实就是面向服务治理,将项目拆分成粒度更小的服务,解耦,并方便管理

注册中心

注册中心在这里扮演一个什么角色呢?它其实就是让消费者和生产者解耦,注册中心中存储着生产者的地址信息,方便消费者调用,一般情况下,注册中心还会在本地存储一份生产者信息,注册中心挂掉后,本地依然可以加载到生产者的信息。注册中心又分CP和AP,CP保证了一致性和分区容错性像zookeeper,AP保证了可用性和分区容错性像eureka,nacos既实现了CP又实现了AP

配置中心

配置中心就更好理解了,它主要存储我们项目中经常用到的配置文件,一般服务启动的时候会从配置中心中拉取配置文件到本地,然后加载,有的配置中心还支持动态配置,配置中心的文件修改后动态刷新到本地文件,这涉及到springcloud Bus总线

负载均衡

说到负载均衡不得不提一下ribbon了,ribbon中LoadBalancerClient在初始化的时候通过ILoadBalance中向注册中心获取服务注册的列表,并且每隔10s调用IPing接口发送一次请求来检测服务是否可用,当可用服务发生变化的时候就从注册中心中重新拉取,ILoadBalance调用IRule的choose方法返回对应的服务节点,IRule就是定义负载均衡的接口

熔断降级

说到熔断和降级这一方面,当属hystrix了。熔断就是调用该服务的时候,服务产生不可用,就暂时停止对该服务的调用,而降级则是从整体方面考虑,调用熔断的服务返回fallback错误处理信息来保证系统的整体稳定,hystrix的实现原理是利用了spring的aop,熔断原理是正常情况下断路器关闭,当失败率达到阈值的时候,断路器打开,进入快速失败的方法,然后一段时候后断路器会自动进入半开状态,允许一个请求调用服务,如果成功就关闭断路器,否则继续打开断路器。

总结

这篇文章主要讲了SpringCloud的相关组件和功能,包括配置中心,注册中心,负载中心,熔断降级等组件,SpringCloud致力于服务治理,值得学习。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。