前言
在搞清楚SpringCloud和微服务的关系之前,我们需要先了解两个点: 1、微服务是什么 2、SpringCloud是什么 该篇文章力求用“”精简“”的话来说明
1、微服务是什么
就两句话
(1)微服务就是一种架构风格 (2)微服务就是把一个项目拆分成独立的多个服务,并且多个服务是可以独立运行的,而每个服务都会占用线程。
关于微服务的详细说明可以看这篇文章:什么是微服务
2、SprignCloud是什么
首先,我们要明白Spring和SpringBoot与SpringCloud之间的关系? 这里就不以常规的方式介绍这两个,大家也都知道Spring就是一个框架,这里以另外一个角度来说 1、Spring是基于Java语言的一款框架 2、Spring Boot 是 Spring 的一套快速配置脚手架,可以基于Spring Boot 快速开发单个微服务。在Spring的基础上来简化配置,以约定大于配置的思想来实现自动装配。 3、Spring Cloud很大的一部分是基于Spring Boot来实现,必须基于Spring Boot开发。可以单独使用Spring Boot开发项目,但是Spring Cloud离不开 Spring Boot。
那SpringCloud到底是什么呢?
SpringCloud并不是一款新框架或者新技术,而是一系列框架的集合。它利用Spring Boot的开发便利性简化了分布式系统基础设施的开发,如服务发现、服务注册、配置中心、消息总线、负载均衡、 熔断器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
既然说到这了,就额外补充一下SpringCloud的其他知识,也算是加深一下印象啦~
1、Spring Cloud相关基础服务组件 服务发现——Netflix Eureka (Nacos) 服务调用——Netflix Feign 熔断器——Netflix Hystrix 服务网关——Spring Cloud GateWay 分布式配置——Spring Cloud Config (Nacos) 消息总线 —— Spring Cloud Bus (Nacos)
关于Nacos的详细介绍不了解的可以看这篇文章哦~Nacos的介绍和安装
2、Spring Cloud的版本 Spring Cloud并没有熟悉的数字版本号,而是对应一个开发代号。 再补充一个关于版本的小知识: SNAPSHOT: 快照版本,随时可能修改
M: MileStone,M1表示第1个里程碑版本,一般同时标注PRE,表示预览版版。
SR: Service Release,SR1表示第1个正式版本,一般同时标注GA:(GenerallyAvailable),表示稳定版本。
3、SpringCloud和微服务之间的关系
想要搞清楚这个问题,我们要从另外一个角度来切入。
那就是微服务的四个核心问题: 1、服务很多,客户端该怎么访问 2、这么多服务,服务之间如何通信? 3、这么多服务,如何治理? 4、服务挂了怎么办?
有了问题,那肯定就要有解决方案,这个时候我们的SpringCloud就登场了
- 第一套解决方案:SpringCloud NetFlix ,称为一站式解决方法!
- 第二套解决方法:Apache Dubbo + Zookeeper 属于半自动,需要整合别人的
- 第三套解决方案:Spring Cloud Alibaba 也是一站式解决方案
所以:我们可以“简单”的理解为,SpringCloud就是为了解决微服务问题而产生的,当然,肯定不会这么简单,SpringCloud肯定还有别的功能 、 比如;服务发现、服务调用、容灾机制、负载均衡这些,在这里就不说明了~
总结
该篇文章是我根据:尚硅谷和狂神说的教学总结写出来的,写下的意义也是为了加深这些知识点的印象,以便更好的理解,当然,如果也能帮助到你,那就更好了~
|