可持续自动化构建微服务(10)SpringCloud 快速入门

第十章  SpringCloud 快速入门
按照官方的话说:Spring Cloud 为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性 Token、全局锁、决策竞选、分布式会话和集群状态)操作的开发工具。最关键的是它足够简单,一般的开发人员只需要几天时间就可以学会它的基本用法。
SpringCloud分布式开发五大神兽:
服务发现 ——Netflix Eureka
客服端负载均衡 ——Netflix Ribbon
断路器 ——Netflix Hystrix
服务网关 ——Netflix Zuul
分布式配置 ——Spring Cloud Config
10 Spring Cloud 快速入门
第六章已经讲解了Spring Boot的快速入门,Spring Boot的功能还有很多,很强大,想熟练使用它,得有“悬梁刺股” 的精神!

可持续自动化构建微服务(10)SpringCloud 快速入门_第1张图片

Spring Cloud是在Spring Boot上发展起来的,下面我们以eureka(服务注册与发现)开始它的蜕变之旅吧!
10.1 服务的注册与发现(Eureka
10.1.1 创建服务注册中心
10.1.1.1 创建子项目
在spring-cloud-demo父项目上右击,选择创建“Maven Module”,子项目名称为“zjs-eureka” 。

可持续自动化构建微服务(10)SpringCloud 快速入门_第2张图片

10.1.1.2 编辑 POM 文件
怎么将一个SpringBoot改造成SpringCloud呢?其实很简单,现在开始改造吧!
10.1.1.2.1 编辑父项目 POM 文件
编辑父项目spring-cloud-demo的POM文件,增加以下内容:

可持续自动化构建微服务(10)SpringCloud 快速入门_第3张图片

10.1.1.2.2 编辑子项目 POM 文件
编辑子项目zjs-eureka的POM文件,增加以下内容:
可持续自动化构建微服务(10)SpringCloud 快速入门_第4张图片
10.1.1.3 编辑启动类
编辑子项目zjs-eureka的启动类App.java,内容如下:
10.1.1.4 增加 application.yml 文件
可持续自动化构建微服务(10)SpringCloud 快速入门_第5张图片
10.1.1.4 增加 application.yml 文件

可持续自动化构建微服务(10)SpringCloud 快速入门_第6张图片

10.1.1.5 启动服务注册中心
在子项目zjs-eureka上右键App.java文件,选择run as -> Java Application。
如果没有报错的话,在浏览器中输入:
http://localhost:8761
可持续自动化构建微服务(10)SpringCloud 快速入门_第7张图片
10.1.2 创建服务提供者
先前,我们已经创建了一个“zjs-service” 服务,运行也是正常的,现在我们动一下手术,让它成为服务的提供者。
10.1.2.1 编辑 POM 文件

可持续自动化构建微服务(10)SpringCloud 快速入门_第8张图片

10.1.2.2 编辑启动类

可持续自动化构建微服务(10)SpringCloud 快速入门_第9张图片

10.1.2.3 编辑配置文件
仅仅@EnableEurekaClient是不够的,还需要在配置文件中注明自己的服务注册中心的地址,application.properties配置文件如下:
可持续自动化构建微服务(10)SpringCloud 快速入门_第10张图片
需要指明spring.application.name,这个很重要,这在以后的服务与服务之间相互调用一般都是根据这个name 。
启动工程,再次刷新
http://localhost:8761
可持续自动化构建微服务(10)SpringCloud 快速入门_第11张图片
你会发现一个服务已经注册在服务中了,服务名为ZJS-SERVICE,端口为8081,这时打开 http://localhost:8081/springbootdemo/test ,你会在浏览器上看到 :
可持续自动化构建微服务(10)SpringCloud 快速入门_第12张图片
10.2 配置服务中心(Config)
10.2.1 创建 SVN 配置文件仓库
在SVN服务器上创建springcloudconfig,并创建config文件夹,然后写入一个配置文件cloud-config-dev.properties也可以是cloud-config-dev.yml
可持续自动化构建微服务(10)SpringCloud 快速入门_第13张图片
10.2.2 创建配置服务端
在spring-cloud-demo下创建spring-cloud-config-server的子项目,并在POM文件中添加

可持续自动化构建微服务(10)SpringCloud 快速入门_第14张图片

创建启动类

可持续自动化构建微服务(10)SpringCloud 快速入门_第15张图片

添加配置文件application.yml
可持续自动化构建微服务(10)SpringCloud 快速入门_第16张图片
启动程序后,我们访问 http://localhost:8888/cloud-config/dev,就可以看到配置信息。

可持续自动化构建微服务(10)SpringCloud 快速入门_第17张图片

10.2.3 创建使用配置服务的客户端
在spring-cloud-demo下创建spring-cloud-config-server的子项目,并在POM文件中添加

可持续自动化构建微服务(10)SpringCloud 快速入门_第18张图片

添加启动类

可持续自动化构建微服务(10)SpringCloud 快速入门_第19张图片

为了直观看到配置中心内容,添加HelloController文件,里面用到了${message}变量,在此项目中,我们并不配置这个值,需要从配置中心获取该值。
可持续自动化构建微服务(10)SpringCloud 快速入门_第20张图片
添加配置文件application.yml

可持续自动化构建微服务(10)SpringCloud 快速入门_第21张图片

接下来,启动该服务
可持续自动化构建微服务(10)SpringCloud 快速入门_第22张图片
最后服务成功启动了
可持续自动化构建微服务(10)SpringCloud 快速入门_第23张图片
在浏览器中输入http://localhost:8007/
可持续自动化构建微服务(10)SpringCloud 快速入门_第24张图片
SpringCloud有了这个功能后
配置信息可以集中管理;
启动服务时,指定配置更加方便;
本章只是介绍了Spring Cloud 的一个方面,其他组件请自行研究。

你可能感兴趣的:(构建可持续自动化微服务,实现可持续自动化微服务)