写点什么

SpringCloud 相关组件

作者:周杰伦本人
  • 2022-11-20
    山东
  • 本文字数:1114 字

    阅读完需:约 4 分钟

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 致力于服务治理,值得学习。

❤️ 感谢大家

如果你觉得这篇内容对你挺有有帮助的话:


  1. 欢迎关注我❤️,点赞👍🏻,评论🤤,转发🙏

  2. 关注盼盼小课堂,定期为你推送好文,还有群聊不定期抽奖活动,可以畅所欲言,与大神们一起交流,一起学习。

  3. 有不当之处欢迎批评指正。

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2020-02-29 加入

公众号《周结论本人》,多平台优质博主

评论

发布
暂无评论
SpringCloud相关组件_11月月更_周杰伦本人_InfoQ写作社区