Spring Cloud--实战

前言

  本例摘自汪云飞编著的《Java EE开发的颠覆者 Spring Boot实战》

  源码下载

  主要有6个微服务组成:

    config:配置服务

    discovery:注册服务

    person:为UI模块提供保存person的REST服务

    some:为UI模板返回一段字符串

    UI:作为应用网关,提供外部访问的唯一接口。使用Feign消费person服务、Ribbon消费some服务 ,且都提供断路器功能。

    monitor:监控UI模块中的断路器。

1.项目构建

  新建模块化的maven项目ch12,修改pom.xml文件:

  1.1使用<modules>标签来实现模块化 

    

  1.2
使用spring-cloud-starter-parent替代spring-boot-starter-parent,其具备spring-boot-starter-parent的同样功能并附加了Spring Could的依赖。

  

   1.3添加依赖,对所有子模块都是有效的,即在子模块中不再添加这些模块。

    

 

2.注册服务-Discovery

  2.1注册服务依赖于Eureka Server,所以需要加上依赖:

    

  2.2修改入口类,加上注解@EnableEurekaServer,开启对EurekaServer的支持。

    

  2.3配置,这里使用yml配置。

  application.yml

    

3.配置服务

  通过Config Server,我们可以集中存储所有应用的配置文件。

  3.1修改pom.xml文件,添加依赖;作为配置服务的依赖spring-cloud-config-server,作为eureka客户端的依赖spring-cloud-starter-eureka;

    

  3.2修改入口类,开启配置服务器的支持,开启作为eureka server客户端的支持。

    

  3.3配置

  bootstrap.xml   : 负责从外部资源加载配置属性

    

  application.yml

    

  配置其他应用所需的配置文件的位置位于类路径下的config目录下:

    

4.服务模块--Person服务

   4.1添加依赖

    

   4.2修改入库类

    

   4.3配置  

   bootstrap.yml

    

  application.yml

    

5.服务模块--Some服务

   5.1依赖

    

  5.2修改入库类

    

  5.3配置

  bootstrap.yml

    

  application.yml

    

6.界面模块-UI

  6.1本模块会使用ribbon、feign、zuul以及CircuitBreaker,添加相关依赖;本模快是一个具有界面的模块,所以通过webjar加载了一些常用的脚本框架:

    

    

  6.2修改入库类

    

  6.3使用feign调用Person Service

    

  ·6.4调用Person Service的断路器

    

  6.5使用ribbon调用Some Service,并使用断路器

    

  6.6配置

  bootstrap.yml

    

   application.yml

    

7.断路器监控-Monitor

  7.1依赖

    

  7.2入库类

    

   7.3配置

  bootstrap.yml

    

  application.yml

    

8.运行

  依次启动DiscoveryAppliction、ConfigApplication,后面的微服务部分顺序启动,最后启动MonitorApplication。

  启动完成后,访问http://localhost:8761,查看Eureka Server。

  

  8.1访问UI服务。http://localhost:8090

 

  8.1.1调用Person Service.

  

  8.1.2调用Some service

   8.2断路器

  停掉Person Service和Some Service,观察断路器效果。

  8.3断路器监控

  访问http://localhost:8989/hystrix.stream

 

  输入http://localhost:8090/hystrix.stream

 

  监控界面:



猜你喜欢

转载自www.cnblogs.com/ly0215-start-na/p/9372749.html