轻谈SpringCloud

133 阅读2分钟

SpringCloud是什么

SpringCloud在英文意思是"云",常代指为分布式开发,是一套解决"三高"(高可用、高扩展、高并发)问题的组合拳。

让我们来看一下SpringCloud官方架构图: 在这里插入图片描述

可以看到SpringCloud由网关、注册中心、配置中心、服务相互之间调用、熔断限流、负载均衡、链路追踪等组件组成。

SpringCloud组件库选择

随着Netflix停止对Ribbon、Feign等微服务组件的开源支持,即使"千呼万唤始出来"的Zuul网关被开源发布,SpringCloud也已推出自家产品GateWay网关与之对抗,因为SpringCloud已经逐渐去"奈飞"化。 Netflix已经逐渐停止对微服务组件的开源支持,"旧王退去,新王加冕",SpringCloudAlibaba强势入驻SpringCloud开源社区,搭配SpringCloud,为微服务打出新的一套"组合拳"。

功能特性Alibaba组件库SpringCloud、第三方组件库Netflix组件库
服务治理==Nacos==ConsulEureka
负载均衡DubboLB==Loadbalancer==Ribbon
服务间调用Dubbo RPC==OpenFeign==Feign
服务容错==Sentinel==Resilience4jHystrix、Turbine
服务网关Dubbo+ Servlet==Gateway==Zuul
分布式配置中心==Nacos==SpringCloud ConfigArchaius
消息总线SCBBus- -
分布式链路追踪- -==Sleuth+Zipkin、Skywalking==- -
分布式事务==Seata==- -- -
消息事件驱动==RocketMQ==RabbitMQ、Kafka- -

==标记部分为当前主流选择==

SpringCluod版本策略

2020年之前SpringCloud版本是用伦敦地铁站命名,后续则采用版本号命名,SpringCloud版本迭代基本一年更新一次。 在这里插入图片描述

  • SNAPSHOT 版本:正在开发中的快照版本,更新频繁的小版本类型,不推荐在线上正式环境使用;
  • Milestone 版本:在大版本正式发布前的里程碑版本,不推荐在正式项目中使用 Milestone 版本;
  • Release Candidate 版本:这就是我们俗称的 RC 版,RC 主要目的是开放出来让大家试用并尽量修复严重 Bug。
  • Release 版:稳定的正式发布版,比如 2020.0.1。你可以在自己的线上业务中放心使用 Release 稳定版。

SpringCluod与SpringBoot版本选择

浏览器访问Spring-Cloud-Boot,在返回的数据中找到spring-cloud即可以查看SpringCloud与SpringBoot版本对应关系。

资料参考:极客时间-姚秋辰老师:time.geekbang.org/column/intr…