微服务架构概述

比眉伴天荒 2022-12-29 04:41 253阅读 0赞

微服务架构概述

  • 1-微服务基础
  • 2-微服务版本
    • 2.1-SpringBoot 版本
    • 2.2-SpringCloud 版本
    • 2.3-SpringCloud 版本依赖
    • 2.4-微服务组件版本
  • 3-SpringCloud 停更 升级 替换

1-微服务基础

SpringCloud 2018

  • 微服务概述
  • SpringCloud 概述
  • 微服务工程搭建
  • Eureka 服务注册与发现
  • Ribbon 客户端负载均衡
  • Feign 服务接口调用
  • Hystrix 断路器
  • Zuul 路由网关
  • SpringCloud Config 分布式配置中心
  • SpringCloud 技术梳理

GitHub

  • https://github.com/hjyang19/microservicecloud.git
  • https://github.com/hjyang19/microservicecloud-config.git

2-微服务版本

2.1-SpringBoot 版本

GitHub:https://github.com/spring-projects/spring-boot/releases/

SpringBoot 2.0:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Release-Notes

SpringBoot 官方强烈建议升级到 2.X 以上版本
在这里插入图片描述
官网(https://spring.io/projects/spring-boot)查看 SpringBoot 版本:
在这里插入图片描述

2.2-SpringCloud 版本

GitHub:https://github.com/spring-projects/spring-cloud/wiki

官网(https://spring.io/projects/spring-cloud)查看 SpringCloud 版本:
在这里插入图片描述
SpringCloud 采用了英国伦敦地铁站的名称来命名,并由地铁站名称字母 A-Z 依次类推的形式来发布迭代版本。

  • 为什么 SpringCloud 版本号用的是单词而不是数字呢?

    设计的目的是为了更好的管理每个 SpringCloud 子项目的清单,避免自己的版本号与子项目的版本号混淆。

  • SpringCloud 版本号有什么规则么?

    采用英国伦敦地铁站的名称来命名,首字母越靠后表示版本号越大。

  • SpringCloud 版本发布说明?

    BUILD-xxx:开发版。开发团队内部使用,不是很稳定。
    GA:稳定版。相比于开发版,基本上可以使用了。
    PRE(M1、M2):里程碑版。主要修复了一些 Bug 的版本,一个 GA 后通常有多个里程碑版。
    RC:候选发布版。该阶段的软件类似于最终版的一个发行观察期,基本只修复比较严重的 Bug。
    SR:正式发布版

在这里插入图片描述
常用版本号说明:如 2.0.3 RELEASE

  • 2:主版本号。当功能模块有较大更新或者整体架构发生变化时,主版本号会更新。
  • 0:次版本号。次版本表示只是局部的一些变动。
  • 3:修改版本号。一般是 Bug 的修改或者是小的变动。
  • RELEASE:希腊字母版本号。此版本号用户标注当前版本的软件处于哪个开发阶段。

希腊字母版本号

  • Base:设计阶段。只有相应的设计没有具体的功能实现。
  • Alpha:软件的初级版本。基本功能已经实现,但存在较多的 Bug。
  • Bate:相对于 Alpha 已经有了很大的进步,消除了严重的 Bug,但还存在一些潜在的 Bug,还需要不断测试。
  • RELEASE:最终版本,没有太大的问题。

2.3-SpringCloud 版本依赖

SpringCloud 和 SpringBoot 之间的依赖关系。

官网:https://spring.io/projects/spring-cloud
在这里插入图片描述
更详细的版本信息查看:https://start.spring.io/actuator/info
在这里插入图片描述
格式化返回结果的 JSON 串:
在这里插入图片描述

2.4-微服务组件版本

  • SpringCloud:Hoxton.SR1
  • SpringBoot:2.2.2.RELEASE
  • SpringCloud Alibaba:2.1.0.RELEASE
  • Java:Java 8
  • Maven:Maven 3.5 及以上
  • MySQL:MySQL 5.7 及以上

SpringBoot 版本已经 2.2.4,为什么版本选择 2.2.2

  • 只用 SpringBoot 直接用最新版本。
  • 同时用 SpringBoot 和 SpringCloud,需要照顾 SpringCloud 版本,由 SpringCloud 决定 SpringBoot 版本。
    在这里插入图片描述

SpringCloud 和 SpringBoot 版本对应关系
在这里插入图片描述
SpringCloud 2.x 版本常用组件 pom

  1. <!-- SpringBoot 2.2.2 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-dependencies</artifactId>
  5. <version>2.2.2.RELEASE</version>
  6. <type>pom</type>
  7. <scope>import</scope>
  8. </dependency>
  9. <!-- SpringCloud Hoxton.SR1 -->
  10. <dependency>
  11. <groupId>org.springframework.cloud</groupId>
  12. <artifactId>spring-cloud-dependencies</artifactId>
  13. <version>Hoxton.SR1</version>
  14. <type>pom</type>
  15. <scope>import</scope>
  16. </dependency>
  17. <!-- SpringCloud Alibaba 2.1.0.RELEASE -->
  18. <dependency>
  19. <groupId>com.alibaba.cloud</groupId>
  20. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  21. <version>2.1.0.RELEASE</version>
  22. <type>pom</type>
  23. <scope>import</scope>
  24. </dependency>

3-SpringCloud 停更 升级 替换

SpringCloud 组件停更引发的升级惨案。

停更不停用

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

SpringCloud 2018
在这里插入图片描述
SpringCloud 2020
在这里插入图片描述
参考资料

  • SpringCloud:https://cloud.spring.io/spring-cloud-static/Hoxton.SR1/reference/htmlsingle/
  • SpringCloud 中文文档:https://www.bookstack.cn/read/spring-cloud-docs/docs-index.md
  • SpringBoot:https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/htmlsingle/

发表评论

表情:
评论列表 (有 0 条评论,253人围观)

还没有评论,来说两句吧...

相关阅读

    相关 服务概述

    什么是微服务 简而言之,微服务架构风格这种开发方法,是以开发一组小型服务的方式来开发一个独立的应用系统的。其中每个小型服务都运行在自己的进程中,并经常采用HTTP资源AP