Spring boot生产级特性

作者: hutou | 来源:发表于2017-07-02 19:09 被阅读249次

    说明

    spring boot提供的actuator插件提供了大量的生产级特性,通过配置进行使用

            <!-- 监控 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
    

    endpoint

    我们可以通过一系列的HTTP请求获得应用程序的相关信息,这些请求就是endpoint,具体有如下几个

    autoconfig  : 获取自动配置信息
    beans  :获取Spring Bean基本信息
    configprops :获取配置项信息
    dump : 获取当前线程基本信息
    env :获取环境变量信息
    health : 获取健康检查信息
    info : 获取应用的基本信息
    metrics : 获取性能指标信息
    mappings : 获取请求映射信息
    trace : 获取请求调用信息
    

    可以通过application.properties配置文件进行精准控制

    # 放弃安全限制
    management.security.enabled=false
    # 关闭一个endpoint:beans
    endpoints.beans.enabled=false
    # 关闭所有endpoint,仅打开beans
    endpoints.enable=false
    endpoints.beans.enabled=false
    # 修改endpoint名称
    endpoints.beans.id=mybeans
    # 修改请求路径
    endpoints.beans.path=/endpoints/mybeans
    

    信息聚合

    POM.xml文件中增加如下内容

            <!-- actuator聚合插件 /actuator -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-hateoas</artifactId>
            </dependency>
    

    可以通过/actuator 来访问聚合信息
    可以通过图形化插件进行显示,在POM.xml文件中增加如下内容

            <!-- actuator聚合图形化插件 /actuator -->
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-rest-hal-browser</artifactId>
            </dependency>
    

    可以通过/actuator 来访问图形化聚合信息

    应用信息

    通过/info可以查看应用信息,信息可以在application.properties文件中配置,如果产生乱码,请戳这里,有解决方案

    info.app.name=应用名称,使用POM中的信息,@project.modelVersion@
    info.app.description=对应用的描述
    info.app.version=1.0.0
    # 自定义用户信息
    info.user.name=hutou
    info.user.sex=男
    info.user.age=22
    

    健康检查

    通过/health可以进行监控检查,下面是一些配置项

    # 暴露磁盘空间信息
    endpoints.health.sensitive=true
    # 健康信息缓存时间,设置太短会影响性能
    endpoints.health.time-to-live=500
    

    spring boot提供了很多内置的监控检查功能,都放置在:org.springframework.boot.actuate.health包下

    ApplicationHealthIndicator
    DiskSpaceHealthIndicator
    DataSourceHealthIndicator    检查数据库连接
    MailHealthIndicator                检查邮件服务器
    MongoHealthIndicator            检查MongoDB数据库
    ....
    

    可以自行扩展健康检查,一篇好文章

    跨域访问

    CORS实现跨域访问是比较好的方案!Spring boot有很好的支持!

    1. 在配置文件中进行配置
    ## 跨域访问
    endpoints.cors.allowed-origins=http://www.baidu.com
    endpoints.cors.allowed-methods=GET,PUT,POST,DELETE
    
    1. 在应用中增加@CrossOrigin注解来实现跨域
    2. 自定义配置
    @Configuration
    @EnableWebMvc
    public class WebConfig extends WebMvcConfigurerAdapter{
        @Override
        public void addCorsMappings(CorsRegistry registry) {
            registry.addMapping("/**")
                .allowedOrigins("http://www.baidu.com")
                .allowedMethods("GET","PUT","POST","DELETE");
        }
    }
    

    相关文章

      网友评论

        本文标题:Spring boot生产级特性

        本文链接:https://www.haomeiwen.com/subject/fztocxtx.html