1.  什么是Spring Cloud?


Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举,
分布式session, 集群状态)。协调分布式环境中各个系统,为各类服务提供模板性配置。使用Spring Cloud,
开发人员可以搭建实现了这些样板的应用,并且在任何分布式环境下都能工作得非常好,小到笔记本电脑, 大到数据中心和云平台。

Spring Cloud官网的定义比较抽象,我们可以从简单的东西开始。Spring Cloud是基于Spring Boot的, 最适合用于管理Spring
Boot创建的各个微服务应用。要管理分布式环境下的各个Spring
Boot微服务,必然存在服务的注册问题。所以我们先从服务的注册谈起。既然是注册,必然有个管理注册中心的服务器,各个在Spring
Cloud管理下的Spring Boot应用就是需要注册的client

Spring Cloud使用erureka server,  然后所有需要访问配置文件的应用都作为一个erureka
client注册上去。eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳,在默认情况下erureka
server也是一个eureka client ,必须要指定一个 server。

springcloud的项目一般有多个子项目,也就是module模块

如图:




那么如何创建一个springcloud项目呢?

第一步:创建一个springboot项目,也可以是MAVEN项目,这里我创建的是springboot项目

如图:













使用IDEA,创建springboot项目

创建好以后,删除src,因为前面已经说过;springcloud的项目一般有多个子项目,也就是module模块,这里可以不需要src,可以删除





这个有个细节,需要为springcloud配置统一的version,因为springcloud子项目一般都不设置版本,父项目pow文件里不设置时,在子项目导入springcloud项目的jar包会出现unknown,包导入不进去的情况,所以父项目要加入下面的代码




第二步:创建springcloud项目,创建EurekaServer

如图:













如下图,是父项目没有控制版本的情况




然后是配置application.properties文件




配置好了可以启动程序,成功后是这个样子的




然后就可以输入127.0.0.1:8888进入eureka页面






第三步:创建springcloud项目,创建EurekaClient跟创建EnrekaServer步骤基本相同,配置不同







如图:eureka注册成功




以上纯属个人见解,如发现不妥之处,可以一起多多指正交流