01_微服务概述/关于SpringCloud各组件的停更/升级/替换

代码地址:https://gitee.com/SuperVITA/cloud2021.git

1、微服务架构概述

1.1什么是微服务

微服务架构是种架构模式,它提倡将单一应用程序划分成组小的服务,服务之间互相协调、互相配合, 为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP协议的RESTfulAPI)。每个服务都围绕着具本业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的七个服务而言负应根据业务上下文,选择合适的语言、工具对其进行构建。

1.1.1主题词01: 95后数字化生活落地维度

在这里插入图片描述

1.1.2主题词02:分布式微服务架构-落地维度

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jwtRnGnu-1625581190674)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f800b9c5-2f14-4da7-bb9f-facd49868e5e/Untitled.png)]

1.1.3主题词03:基于分布式的微服务架构

要求说得出来 是什么:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6EHLUWSE-1625581190677)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a0dcf9ab-7186-4e9d-8537-b91dd6aff19a/Untitled.png)]

2、SpringCloud简介

Spring Cloud 是分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶。 类比:肯德基全家桶,有可乐有鸡翅有汉堡等。

SpringCloud这个大集合里有多少种技术:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iSTViZgj-1625581190679)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/354f9d1f-cad3-441a-b914-9613f9ff2e4c/Untitled.png)]

下面一张图是京东的促销架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1xEERnx2-1625581190680)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/dc422c9c-a9f8-43f9-839d-aed92bc6ec96/Untitled.png)]

阿里的架构图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VOQ6kTD4-1625581190681)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9f7f3404-6c5e-4408-aead-8faab802892d/Untitled.png)]

京东物流的架构图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qdMWO5Rm-1625581190681)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/52113875-4a6a-4580-a5a0-5daaf4cf0b22/Untitled.png)]

基础服务:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iTTL54o4-1625581190682)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3b364e69-3ade-4f07-9f93-55f152ef03c2/Untitled.png)]

3、SpringCloud技术栈

在这里插入图片描述

Spring Cloud版本选型

SpringBoot2.X版 和 SpringCloud H版

SpringBoot官方已经强烈推荐 2.X版

SpringCloud采用英国伦敦地铁站的名称来命名,并由地铁站名称字母A-Z一次类推的形式发布迭代版本

SpringCloud是由许多子项目组成的综合项目,各子项目有不同的发布节奏,为了管理SpringCloud与各子项目的版本依赖关系,发布了一个清单,其中包括了某个SpringCloud版对应的子项目版本,为了避免SpringCloud版本号与子项目版本号混淆,SpringCloud版采用了名称而非版本号命名。例如Angel,Brixton。当SpringCloud的发布内容积累到临界点或者一个重大BUG被解决后,会发布一个Service releases版本,俗称SRX版本,比如 Greenwich.SR2就是SpringCloud发布的Greenwich版本的第二个SRX版本。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n6HZlBKi-1625581190683)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f9cd91c7-e474-43b4-8e6c-e13cc802edc6/Untitled.png)]

在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oYuX88mO-1625581190684)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/a106b33c-3a54-491b-be81-e396670dc050/Untitled.png)]

SpringBoot和SpringCloud版本约束

SpringBoot和SpringCloud的版本选择也不是任意的,而是应该参考官网的约束配置。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PZGStsap-1625581190685)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/14767ac3-b48e-4b7d-afc0-94a4063f4f8a/Untitled.png)]

地址https://spring.io/projects/spring-cloud

SpringCloud和Springboot之间版本对应:https://start.spring.io/actuator/info

在这里插入图片描述

浏览器需要安装对应的JSON插件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LA7pURDu-1625581190686)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/3794a87f-c2e9-4bd7-8736-d536b4ac6bbb/Untitled.png)]

本次教程开发各技术组件的版本号选择

cloud:Hoxton.SR1
boot:2.2.2.RELEASE
cloud alibaba:2.1.0.RELEASE
Java:Java8
Maven:3.5及以上
Mysq|:5.7及以上
上述全部版本必须保持一致

4、关于Cloud各种组件的停更/升级/替换

停更不停用:什么是停更?

  • 被动修复Bugs
  • 不再接受合并请求
  • 不再发布新版本

2020年之前SpringCloud技术选型:

  1. 服务注册与发现:Eureka
  2. 服务负载与调用:Ribbon
  3. 服务负载与调用:Feing
  4. 服务熔断与降级:Hystrix
  5. 服务网关:Zuul
  6. 服务分布式配置:SpringCloud Config
  7. 服务开发:SpringBoot

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O8i1y9tW-1625581190686)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e073688e-5471-4c5f-893b-a156d379c139/Untitled.png)]

但是随着Eureka等组件的闭源,后续的一些解决方案也有了新的替换产品

2020年之后SpringCloud技术选型:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A8e8cRLi-1625581190687)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/beb0996f-5a13-449c-bc67-ee637e01ac95/Untitled.png)]

SpringCloud升级之后的替代产品的区别和推荐

1、服务注册中心

  • Eureka:重症患者,进ICU用也救不活那种(凑合能用)@EnableEurekaServer:实现服务治理/服务注册与发现。
  • Zookeeper:老系统 Dubbo(做服务调用) + Zookeeper(做服务注册中心)
  • Consul:Go语言写的
  • Nacos(重点推荐)阿里巴巴的Nacos

2、服务调用

  • Feign
  • OpenFeign(强烈推荐)
  • Ribbon:轻度患者,还能用,服务端负载均衡,主要提供软件负载均衡算法。
  • LoadBalancer

3、服务降级

  • Hystrix:@EnableCircuitBreaker:熔断器,保护系统控制故障范围。
  • resilience4j:国外用的比较多
  • **sentienl(国内推荐)**SpringCloud Alibaba Sentine实现熔断与限流

4、服务网关

  • Zuul:@EnableZuulProxy,网关管理由Zuul,网关转发请求给对应的服务。
  • Zuul2
  • Gateway(推荐)

5、服务配置

  • Config
  • Nacos(推荐)

6、服务总线

  • Bus
  • Nacos(推荐)

SpringCloud和SpringBoot相关技术参考资料

SpringCloud英文参考文档:

Spring Cloud

SpringCloud中文文档:

首页

SpringBoot参考文档:

Spring Boot Reference Documentation

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赫点茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值