什么是SpringCloud
上一章节介绍了总体的SpringCloud的总体学习章节,因为最近项目刚好需要用到SpringCloud来搭建微服务项目、所以就跟着大家一起来再学习巩固下SpringCloud的相关知识
SpringCloud是基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。在官网可以看见主要核心模块如下:
Eureka:服务注册中心,用于服务管理。
Ribbon:基于客户端的负载均衡组件。
Hystrix:容错框架,能够防止服务的雪崩效应。
Feign:Web 服务客户端,能够简化 HTTP 接口的调用。
Zuul:API 网关,提供路由转发、请求过滤等功能。
Config:分布式配置管理。
Sleuth:服务跟踪。
Stream:构建消息驱动的微服务应用程序的框架。
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 Cloudhttps://spring.io/projects/spring-cloud/
不明白的可以看下这个表格!通过这个表格我们可以清楚地知道 Finchley SR2 对应的 Spring Boot 版本是 2.0.6.RELEASE,Spring-Cloud-Bus 是 2.0.0.RELEASE。
Component | Edgware.SR5 | Finchley.SR2 | Finchley.BUILD-SNAPSHOT |
---|---|---|---|
spring-cloud-aws | 1.2.3RELEASE | 2.0.1.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-bus | 1.3.3.RELEASE | 2.0.0.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-cli | 1.4.1.RELEASE | 2.0.0.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-commons | 1.3.5.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-contract | 1.2.6.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-config | 1.4.5.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-netflix | 1.4.6.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-security | 1.2.3.RELEASE | 2.0.1.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-cloudfoundry | 1.1.2.RELEASE | 2.0.1.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-consul | 1.3.5.RELEASE | 2.0.1.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-sleuth | 1.3.5.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-stream | Ditmars.SR4 | Elmhurst.SRI | Elmhurst. BUILD-SNAPSHOT |
spring-cloud-zookeeper | 1.2.2.RELEASE | 2.0.0.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-boot | 1.5.16.RELEASE | 2.0.6.RELEASE | 2.0.7.BUILD-SNAPSHOT |
spring-cloud-task | 1.2.3.RELEASE | 2.0.0.RELEASE | 2.0.1.BUILD-SNAPSHOT |
spring-cloud-vault | 1.1.2.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
spring-cloud-gateway | 1.0.2.RELEASE | 2.0.2.RELEASE | 2.0.2.BUILD-SNAPSHOT |
大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻
打卡 文章 更新 268/ 365天
精彩专栏推荐订阅:在下方专栏👇🏻👇🏻👇🏻👇🏻
Java项目精品实战案例《100套》
web前端期末大作业网页实战《100套》