【云原生】Spring Cloud 是什么?Spring Cloud 版本介绍
什么是 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 Cloud
https://spring.io/projects/spring-cloud/
不明白的可以看下这个表格!通过这个表格我们可以清楚地知道 Finchley SR2 对应的 Spring Boot 版本是 2.0.6.RELEASE,Spring-Cloud-Bus 是 2.0.0.RELEASE。
评论