原创 武培轩 武培轩 6月29日
来自专辑
Spring Boot 系列

武培轩
推荐搜索
送书Spring BootJava数据结构MySQLRedis
Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性,巧妙地简化了分布式系统基础设施的开发,如服务注册、服务发现、配置中心、消息总线、负载均衡、断路器、数据监控等,这些都可以用 Spring Boot 的开发风格做到一键启动和部署。

什么是 Spring Cloud?| 文末赠书_第1张图片

简而言之,Spring Cloud 就是用于构建微服务开发和治理的框架集合。

Spring Cloud模块介绍

❑ Eureka:服务注册中心,用于服务管理

❑ Ribbon:基于客户端的负载均衡组件

❑ Hystrix:容错框架,能够防止服务的雪崩效应

❑ Feign:Web服务客户端,能够简化HTTP接口的调用

❑ Zuul:API网关,提供路由转发、请求过滤等功能

❑ Config:分布式配置管理

❑ Sleuth:服务跟踪

❑ Stream:构建消息驱动的微服务应用程序的框架

❑ Bus:消息代理的集群消息总线

❑ CLI:提供命令行增强功能,有助于进一步抽象和简化部署

为何选择Spring Cloud?

作为目前最流行的微服务架构开发,Spring Cloud的技术生态不断地发生着巨大变化,如容器、k8s、ServiceMesh、Cloud Native、gRPC等新技术、新理念不断涌出。为何会选择Spring Cloud呢?原因如下:

  • Spring Cloud作为Spring Boot的传承,遵循约定优于配置的原则,在使用时不需要复杂的配置就可以运行起来,学习曲线低。
  • Spring Cloud中的大部分子项目开箱即用,采用自动化配置机制,可说使用门槛非常低。
  • Spring Cloud属于Spring大家族,而Spring是进行企业级开发的首选框架,因此在项目中引入Spring Cloud的技术成本比较低。
  • Spring Cloud抛弃了传统的RPC通信,采用了基于HTTP的REST方式,使得微服务接口更为灵活,服务提供者和消费者之间的依赖只需要一纸契约即可,而不存在代码级别的强依赖,这对快速演化的微服务架构更合适。
  • Spring Cloud并没有限制所使用的环境,可以与异构系统进行整合。同时对于所提供的各组件服务既可单独部署,又可集中部署,方便了运维和管理。

Spring Cloud 版本

大家可能对 Spring Cloud 的版本有疑问,为什么不使用 1.1、1.2、1.3 这种的格式?

因为 Spring Cloud 是一个拥有诸多子项目的大型综合项目,其中包含的各个子项目都独立进行着内容的迭代与更新,各自维护着自己的发布版本号。

Spring Cloud 的版本号为了与各个组件的版本号区分开来,使用了大版本号的方式,并以伦敦地铁站的名字命名,同时按字母顺序进行排列,截止到目前,累计的版本号有:Angel、Brixton、Camden、Dalston、Edeware、Finchley、Greenwich 和 Hoxton 等。

Spring Cloud & Spring Boot 版本对照表

Release Train   Boot Version
Hoxton  2.2.x
Greenwich   2.1.x
Finchley    2.0.x
Edgware 1.5.x
Dalston 1.5.x

总结

Spring Cloud 因为其丰富的工具套件、全面的设计,以及很好的兼容性,使它成为众多开发人员喜欢和热爱的一种开发工具,所以也将在更大的范围中流行起来。

在这里再推荐一个 Spring Cloud 的书籍:《Spring Cloud 微服务开发实战》,以下为该书的简介:

什么是 Spring Cloud?| 文末赠书_第2张图片

什么是 Spring Cloud?| 文末赠书_第3张图片

▶ 送书规则 ◀
(参与活动的必须要加小编微信)
1、文末点击在看,回复【送书】抽奖(共1本)
2、文末点击在看,到截止日期为止的分享榜前两名(共2本)
活动截止日期:2020-7-3 18:00
PS:分享榜是微信订阅号助手可以查看的,规则是在看和转发的次数

什么是 Spring Cloud?| 文末赠书_第4张图片
扫一扫二维码,加小编微信

什么是 Spring Cloud?| 文末赠书

●数组还是链表?使用不当性能差千倍?
●你可知枚举有几种使用方法?
●你编写的Java代码是咋跑起来的?

什么是 Spring Cloud?| 文末赠书_第5张图片

武培轩
有帮助?在看,转发走一波
喜欢作者