【云原生】Spring Cloud是什么?Spring Cloud版本如何选择?

·  阅读 1900
【云原生】Spring Cloud是什么?Spring Cloud版本如何选择?

​ 持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第28天,点击查看活动详情

 什么是SpringCloud

上一章节介绍了总体的SpringCloud的总体学习章节,因为最近项目刚好需要用到SpringCloud来搭建微服务项目、所以就跟着大家一起来再学习巩固下SpringCloud的相关知识

SpringCloud基于SpringBoot框架提供了一套微服务应用解决方案,主要包括服务注册与发现,全链路监控,配置中心,服务网关,负载均衡配置,熔断器等组件、除了基于NetFlix的开源组件做的高度抽象封装之外,还有一些选型中立的开源组件。在官网可以看见主要核心模块如下:

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

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

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

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

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

Config:分布式配置管理。

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

Sleuth:服务跟踪调用链解决方案。

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

........................

在实际开发中找到并合理使用这一套技术呢?

其实就是首先要确认自己需要什么找什么技术,但是这样会有一个问题,技术和技术之间往往都会有一些兼容性的问题,要解决这些问题,需要很强的技术示例,一般的中小型企业一般没有这样的实力和实际使用场景。

还有一些有实力的公司会自己寻找一整套技术,并且做一些封装和整合,然后开源让大家使用。SpringCloud就是这样的技术,SpringCloud是官方封装好的一整套分布式微服务的技术解决方案,我们也称之为微服务全家桶。

举一个简单的例子吧、开发微服务相当于自己买零件部件这些、然后进行组装

使用SpringCloud其实就是相当于直接买了一整台电脑、系统等都配置好了、直接使用、这样虽然能够直接使用、但很多细节需要自己在使用的过程中进行研究、慢慢熟悉。

Spring Cloud版本介绍

SpringCloud 和 SpringBoot的关系

用过SpringBoot的小伙伴都知道,SpringBoot开发之所以方便快捷,就是因为SpringBoot自动配置/和集成、比如yml配置Tomcat、热部署、以及pom.xml mavenY以来这些可以直接引入需要的插件和API、可以让我们在开发的时候不写基本的配置,通过完美的封装引入让应用可以做到一键启动和部署,而SpringCloud是对多个技术整合和配置、其实最复杂的过程往往是配置。

所以SpringCloud选择SpringBoot作为技术底层,对目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,进行二次封装,屏蔽掉了复杂的配置和实现原理。我们使SpringCloud像使用SpringBoot一样的简单。

访问 Spring Cloud 官网时一定会有一个疑惑那就是版本太多了,到底哪个是稳定版本?哪个才是自己需要的版本?因为我SpringBoot是2.0、所以我选择的是SpringCloud的Finchley 版本

SpringCloud和SpringBoot的版本选择:Spring Cloud https://spring.io/projects/spring-cloud/

不明白的可以看下这个表格!通过这个表格我们可以清楚地知道 Finchley SR2 对应的 Spring Boot 版本是 2.0.6.RELEASE,Spring-Cloud-Bus 是 2.0.0.RELEASE。

ComponentEdgware.SR5Finchley.SR2Finchley.BUILD-SNAPSHOT
spring-cloud-aws1.2.3RELEASE2.0.1.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-bus1.3.3.RELEASE2.0.0.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-cli1.4.1.RELEASE2.0.0.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-commons1.3.5.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-contract1.2.6.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-config1.4.5.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-netflix 1.4.6.RELEASE 2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-security1.2.3.RELEASE2.0.1.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-cloudfoundry1.1.2.RELEASE2.0.1.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-consul 1.3.5.RELEASE2.0.1.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-sleuth 1.3.5.RELEASE2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-stream Ditmars.SR4Elmhurst.SRIElmhurst. BUILD-SNAPSHOT
spring-cloud-zookeeper1.2.2.RELEASE2.0.0.RELEASE2.0.1.BUILD-SNAPSHOT
spring-boot1.5.16.RELEASE2.0.6.RELEASE 2.0.7.BUILD-SNAPSHOT
spring-cloud-task1.2.3.RELEASE2.0.0.RELEASE2.0.1.BUILD-SNAPSHOT
spring-cloud-vault1.1.2.RELEASE 2.0.2.RELEASE2.0.2.BUILD-SNAPSHOT
spring-cloud-gateway1.0.2.RELEASE2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT

大家点赞、收藏、关注、评论啦 、

打卡 文章 更新 268/  365天

收藏成功!
已添加到「」, 点击更改