SpringCloud(3)

服务健康与检测

1.actuator健康检查
Springboot提供了一个actuator组件,可以对应用的服务进行监控、审计、管理功能。

  • 在pom.xml引入spring-boot-starter-actuator组件

    org.springframework.boot
    spring-boot-starter-actuator

  • 在application.properties配置参数(在boot2.x默认关闭了很多请求,只暴露出/actuator/health和/info)
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
  • 启用boot程序输出下面URL
/actuator/health
/actuator/info
/actuator/beans
/actuator/mappings
/actuator/env
/actuator/health

2.SpringBoot Admin监控UI系统

Spring Boot Admin 用于监控基于 Spring Boot 的应用,它是在 Spring Boot Actuator 的基础上提供简洁的可视化 WEB UI。在 Spring Boot 项目中,Spring Boot Admin 作为 Server 端,其他的要被监控的应用作为 Client 端。

参考:https://blog.csdn.net/hubo_88/article/details/80671192

3.SpringCloud Hystrix Dashboard系统

提供对使用Hystrix断路器服务进行监控的一套监控面板(仪表盘),分别为单体监控、集群监控、与消息代理结合。

参考:https://www.cnblogs.com/hellxz/p/9100224.html


SpringCloud Config配置中心

SpringCloud Config可以将分布式部署的应用的配置文件进行集中化管理。将配置文件利用Git或SVN集中存放,修改更新后可以同步到分布式各个应用中。

image.png

Config Server端

作用:读取Git或SVN配置文件,形成服务API。 /ydma/course或/ydma-course.properties。

1.在SVN中定义properties配置文件
提示:对应svn配置文件放在ydma-configs/config路径下面。

/ydma-configs/config/ydma.properties
/ydma-configs/config/ydma-course.properties
/ydma-configs/config/ydma-direction.properties

2.创建config-server端项目,在pom.xml引入spring-cloud-config-serverspring-cloud-starter-configsvnkit


    org.springframework.boot
        spring-boot-starter-parent
        2.0.5.RELEASE


    
        
        
          org.springframework.cloud
          spring-cloud-dependencies
          Finchley.RELEASE
          pom
          import
        
    



    
        org.springframework.cloud
        
            spring-cloud-starter-config
        
    
    
    org.springframework.cloud
    spring-cloud-config-server


    org.tmatesoft.svnkit
    svnkit


3.在application.properties文件中定义svn参数

server.port = 9988
spring.application.name=ydma-config
############SVN####################
spring.profiles.active=subversion
spring.cloud.config.server.svn.uri=https://192.168.30.177/svn/java30/ydma-configs/
spring.cloud.config.server.default-label=config
spring.cloud.config.server.svn.username=java
spring.cloud.config.server.svn.password=123

提示:对应svn配置文件放在ydma-configs/config路径下面。

/ydma-configs/config/ydma.properties
/ydma-configs/config/ydma-course.properties
/ydma-configs/config/ydma-direction.properties

4.定义启动类,开启ConfigServer注解

@SpringBootApplication
@EnableConfigServer
public class RunConfigBoot {

    public static void main(String[] args) {
        SpringApplication.run(RunConfigBoot.class, args);
    }
}

5.启动程序,访问测试
http://localhost:9988/ydma/course http://localhost:9988/ydma-course.properties

Config Client

1.在pom.xml中定义spring-cloud-config-client、spring-boot-starter-actuator


    org.springframework.cloud
    spring-cloud-config-client


    org.springframework.boot
    spring-boot-starter-actuator

2.在resources添加bootstrap.properties配置文件(去掉application.properties)

spring.cloud.config.name=ydma
spring.cloud.config.profile=course
spring.cloud.config.label=config
spring.cloud.config.uri=http://localhost:9988
management.endpoints.web.exposure.include=refresh,health,info

3.启动程序,client会自动加载Server端配置信息

Server端配置修改,刷新Client应用

使用actuator健康检查的/actuator/refresh服务(POST)即可。

1.使用curl工具
提示:下载curl工具包,配置系统PATH环境变量为I386目录。

curl -X POST http://localhost:7004/actuator/refresh(命令行内操作)

2.使用HttpClient工具编码(导入httpclient包)

CloseableHttpClient client = null;
client = HttpClients.createDefault();
HttpPost post = new HttpPost("http://localhost:7001/actuator/refresh");
CloseableHttpResponse response = client.execute(post);
int statusCode = response.getStatusLine().getStatusCode();
System.out.println(statusCode);

SpringBoot项目的发布

1.在pom.xml定义boot打包插件


    
        
            org.apache.maven.plugins
            maven-surefire-plugin
            
                
                true
            
        
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    

2.检查Eclipse等工具的JDK,目录指向到jdk目录,别指向jre目录

3.右键点击ydma聚合工程,选择run as-->maven build

你可能感兴趣的:(SpringCloud(3))