概述
spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单,可以在开发人员的电脑上跑。另外说明spring cloud是基于springboot的。spring cloud管理多个项目,每个项目都可以脱离spring cloud 单独运行。将spring cloud项目放在多台服务器,某个服务器崩溃也不会影响线上功能的正常运行,可以方便项目的线上更新。
一、建立工作区间
1.为了不让项目太多看着混乱,首先建立working Set.在项目管理点击右键New>Other,搜到Java Working Set.
2.在working set name输入名称LearnSpringCloud,然后finish.
3.点起资源管理右上角的倒三角,选择Select Working Set.
3.选择刚才建立的Working Set,点击完成。然后再点击倒三角,选择新的工作区间。
二、创建服务注册中心(Eureka Server)
1.首先创建一个主Maven工程,在其pom文件引入依赖,spring Boot版本为2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE。这个pom文件作为父pom文件,起到依赖版本控制的作用,其他module工程继承该pom。
1.1.点击File>Maven Project或者New>Other 搜索Maven Project,选择后点击next.选择存储空间,添加到工作区间Working set.
1.2.默认maven-archetype-quickstart,然后next
1.3.填写Group Id和Artifact Id,package默认也可以修改。
1.4.主Maven建立完成,然后配置Pom文件。将packaging的jar改为pom.其中modules的sc-pro1-server是服务注册中心,sc-pro1-client1是服务提供者,也就是项目。若项目出现红X,更新一下maven:Maven>Update Project…
1.5.创建服务注册中心.首先在建立的主Maven项目上右键>Maven>New Maven Module,建立子maven。勾选Create a simple project,输入Module Name,点击Next.
1.6.输入Name,点击Finish
1.7.创建完后的工程,其pom.xml继承了父pom文件,并引入spring-cloud-starter-netflix-eureka-server的依赖.packaging为jar:
1.8.启动一个服务注册中心,在src/main/java建立一个application启动类,加一个注解@EnableEurekaServer.
1.9.eureka是一个高可用(高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间)的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送心跳(**心跳机制就是定时发送一个自定义的结构体(心跳包)。确保连接的有效的机制)(因此可以在内存中完成),在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。eureka server的配置文件appication.yml:
通过eureka.client.registerWithEureka:false和fetchRegistry:false来表明自己是一个eureka server.
2.0.打开浏览器,输入localhost:8000.显示以下页面。
三、创建服务提供者(Eureka Client)
1.当client向server注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka server 从每个client实例接收心跳消息。 如果心跳超时,则通常将该实例从注册server中删除。
创建过程同server类似,创建完pom.xml如下:
2.创建application启动类,注解@EnableEurekaClient表明是client是eurekaClient

3.在配置文件中注明自己的服务注册中心的地址
4.启动client,可以在server页面查看client是否启动。
启动成功。
5.创建controller
在浏览器输入localhost:10002/hi?name=JAVA
可以看到测试通过,至此,spring cloud 就建立完成了。最后把sc-project1中的无用文件全部移除。