SpringCloud概念
微服务概述
微服务就是把一个大的项目拆分成一个个可以单独运行的独立模块部署,服务之间采取调用方式,不再是以前的单个jvm之间的通信.
一个个单独的服务模块就叫做微服务,N个微服务之间通行对外提供服务的整体叫做微服务架构
微服务的优缺点
优点
轻量级,部署的时候不需要部署整个项目
缺点
系统复杂性提高,以前只需要监控单个服务的性能,现在切换到微服务之后需要监控
各个微服务的性能.
服务之间通信的成本增加,http 调用也是耗时的
SpringCloud 是什么
概念
上面说的都是微服务的概念,而SpringCloud 是微服务的一种技术解决方案,其他技术也
可以实现微服务,而SpringCloud 生态最全面.
概念 : SpringCloud 是基于 springboot
提供了一套微服务解决方案.包括服务注册于发现,熔断,配置中心,网关等…
Springboot 和SpringCloud的关系
springboot可以快速开发一个个单个的微服务,至于是什么服务并不重要.
而SpringCloud 开发的所有微服务都必须使用springboot来开发
SpringCloud 离不开SpringBoot, SpringBoot 可以离开SpringCloud
Dubbo 和 SpringCloud 对比
共同点
Dubbo 和 SpringCloud 都可以实现微服务架构,也就是都可以实现不同服务
之间的调用
不同点
Dubbo 是基于RPC 调用 而SpringCloud 是基于 Http rest 调用.这就是最本质的区别.
至于其他的说Dubbo 没有服务熔断等,DUBBO本来定位就只是RPC调用框架而已
版本选择
基于 SpringBoot 2.X + SpringCloud H 版本 + SpringCloud Alibaba 2.X
<!-- 子模块继承之后,提供作用:锁定版本+子modlue不用写groupId和version -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>2.2.7.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>