SpringCloud 入门实战基础篇

⭐️ SpringCloud 入门实战系列之SpringCloud 入门实战基础篇

一、前言

1、什么是SpringCloud

SpringCloud=分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体(微服务全家桶)。

查看官网:https://spring.io/

在这里插入图片描述

Spring Cloud本身不是新的框架,是一个全家桶式的技术栈,包含了很多组件,它是一系列框架的有机组合,利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发。

2、SpringCloud与SpringBoot

想要使用一个技术,我们必须了解对应的版本环境,使用和学习时尽量不要用过时的。

1)查看SpringCloud版本(2021.0.3)

了解SpringCloud版本https://spring.io/projects/spring-cloud

在这里插入图片描述

spring cloud 版本名
之前的spring cloud 版本名是根据英国伦敦地铁站名称的英文名称并按照字母a-z进行排序: Angel(天使)、Brixton(布里斯顿)、Camden(卡姆登)、Dalston、Edgware、Finchley、Greenwich、Hoxton

当SpringClould发布的内容积累到临近点或者一个重大bug被解决后,会发布一个“services release”版本,简称SRX版本,比如:Greenwich.SR2就是发布Greenwich版本的第二个SRX版本。

但是在2020年改变了命名规则,使用了全新的 “日历化” 版本命名方式。

日历式命名:
Spring Cloud 使用了 YYYY.MINOR.MICRO 的命名规则
YYYY:表示 4 位年份
MINOR:代表一个递增的数字,每年以 0 开始递增
MICRO:代表版本号后缀,就和之前使用的 .0 类似于 .RELEASE 一样,.2 类似于 .SR2。
预发布版本的后缀分隔符也从 . 变更为 -,如:2020.0.0-M1 和 2020.0.0-RC2 命名所示。
同时,Spring Cloud 将停止给快照版本添加 BUILD- 前缀,如:2020.0.0-SNAPSHOT 命名所示。

2)查看SpringBoot版本

git源码地址:https://github.com/spring-projects/spring-boot/releases可查看当前最新版本新特性,修复了哪些问题等:

在这里插入图片描述

也可官网查看版本:


在这里插入图片描述

3)技术版本选型

SpringCloud与springBoot有严格的版本依赖,查看相应的对照关系:https://spring.io/projects/spring-cloud

在这里插入图片描述

更详细的版本信息可访问:https://start.spring.io/actuator/info将得到的json格式化,可清楚看到各版本更详细对照关系:

在这里插入图片描述

二、Spring Cloud组件

微服务的演变过程,这里不过多赘述了,可参考:https://baijiahao.baidu.com/s?id=1702781007819802539&wfr=spider&for=pc

1、Spring Cloud Netflix 组件

Spring Cloud Netflix框架刚好就满足了上面所有的需求,Spring Cloud Netflix包含的组件及其主要功能大致如下:

  • Eureka,服务注册和发现,它提供了一个服务注册中心、服务发现的客户端,还有一个方便的查看所有注册的服务的界面。 所有的服务使用Eureka的服务发现客户端来将自己注册到Eureka的服务器上。
  • Zuul,网关,所有的客户端请求通过这个网关访问后台的服务。他可以使用一定的路由配置来判断某一个URL由哪个服务来处理。并从Eureka获取注册的服务来转发请求。
  • Ribbon,即负载均衡,Zuul网关将一个请求发送给某一个服务的应用的时候,如果一个服务启动了多个实例,就会通过Ribbon来通过一定的负载均衡策略来发送给某一个服务实例。
  • Feign,服务客户端,服务之间如果需要相互访问,可以使用RestTemplate,也可以使用Feign客户端访问。它默认会使用Ribbon来实现负载均衡。
  • Hystrix,监控和断路器。我们只需要在服务接口上添加Hystrix标签,就可以实现对这个接口的监控和断路器功能。
    Hystrix Dashboard,监控面板,他提供了一个界面,可以监控各个服务上的服务调用所消耗的时间等。
  • Turbine,监控聚合,使用Hystrix监控,我们需要打开每一个服务实例的监控信息来查看。而Turbine可以帮助我们把所有的服务实例的监控信息聚合到一个地方统一查看。这样就不需要挨个打开一个个的页面一个个查看。

2、Spring Cloud Alibaba 组件

由于SpringCloud Netflix版一些重要组件如注册中心Euraka、Ribbon已经不再迭代更新了,Spring Cloud Alibaba慢慢孵化出Spring Cloud Alibaba一套。

Spring Cloud Alibaba功能组件:

  • Nacos:Spring Cloud Alibaba 对服务注册、配置中心与负载均衡功能都整合进 Nacos,有图形化界面,简化了微服务架构的复杂度。
  • Sentinel:服务保护组件也调整为 Sentinel,相较Hystrix功能更强大,使用也更加友好。把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
  • RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
  • Dubbo:高性能 Java RPC 框架。
  • Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
  • Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
  • Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。
  • Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

schedulerX、SMS、OSS等主要是阿里云的商业化产品就不再过多的进行介绍

3、SpringCloud其他相关组件

整个SpringCloud生态,不仅Netflix和Alibaba贡献了相关组件,还有Spring本身贡献了许多组件:

Spring Cloud Netflix Spring Cloud 官方 Spring Cloud Zookeeper Spring Cloud Consul Spring Cloud Kubernetes Spring Cloud Alibaba
分布式配置 Archaius Spring Cloud Config Zookeeper Consul ConfigMap Nacos
服务注册/发现 Eureka - Zookeeper Consul Api Server Nacos
服务熔断 Hystrix - - - - Sentinel
服务调用 Feign OpenFeign RestTemplate - - - Dubbo RPC
服务路由 Zuul Spring Cloud Gateway - - - Nacos
分布式消息 - SCS RabbitMQ - - - SCS RocketMQ
负载均衡 Ribbon - - - - Dubbo LB
分布式事物 - - - - - Seata

Spring Cloud 本身其实只是一套微服务规范,并不是一个拿来即可用的框架,Spring Cloud Netflix 和Spring Cloud Alibaba是为开发者提供了这套规范的实现方式。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容