SpringCloud 作为当下最为流行的微服务框架,也越来越多的人去学习和使用这个框架。下面,我将带大家简单地认识一下 SpringCloud 框架,以及如何来搭建一个 SpringCloud 实验环境的教程。
微服务
个人理解:
所谓微服务是指每个模块都可以独立完成自己的核心业务,某一个模块的崩溃不影响其他模块的运行,
每个微服务有自己单独的一个数据库
每一个微小的服务组成了一个复杂的软件系统
微服务架构
微服务指的是服务的大小,关注的是完成一个具体的服务(医院的科室)
微服务架构是一种架构模式 ,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相
配合,为用户提供最终价值。一种将一个单一应用程序开发为一组小型服务的方法,每个服务都在其运行
的进程中。(整个医院)
优点:
- 针对特定服务发布,影响小,风险小,成本低
- 频繁发布版本,快速交付需求
- 低成本扩容,弹性伸缩,适应云环境
SpringCould简介
Springboot关注于更快的开发单体的微服务,而SpringCloud关注于全局服务的治理
Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 Spring Boot 的开发风格做到一键启动和部署。
Spring 并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过 Spring Boot 风格进行再封装、屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
环境搭建
在idea中新建一个maven父工程在其pom配置对应依赖,以管理子类依赖的版本
<properties>
<lombock.version>1.18.18</lombock.version>
<log4j.version>1.2.17</log4j.version>
</properties>
<dependencyManagement>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-eureka-client -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>3.0.2</version>
</dependency>
<!--spring cloud 依赖包-->
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--spring boot 依赖包-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency&