image.png
Spring Boot的自动装配及starter的引入,大量的Spring Bean的装配变成黑盒。
为了支持以配置化的方式调整应用行为,如Web服务端口等,Spring Boot提供了Production-Ready

Spring Boot Actuator

image.png

  • 使用场景:监视和管理投入生产的应用
  • 监管媒介:HTTP或JMX断电(Endpoints)
  • 端点类型:审计(Auditing)、健康(Health)和指标收集(metrics gathering)
  • 基本特点:自动运用
    Spring Boot Production-Ready特性使用了Java Web和JMX面积与Spring Boot自动装配实现。
    Spring Boot引入了Actuator实现
    image.png
    Spring Boot Actuator用于监控和管理Spring应用,可通过HTTP Endpoint或JMX Bean与其交互

Spring Boot Actuator Endpoints简介

image.png
需要开启Spring Boot Actuator需要添加依赖

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

image.png
这些endpoint所显示的信息功能如上图。
默认只有health和info为默认暴露的Web Endpoints,如果需要暴露其他则需要在配置文件或启动参数中配置,这类属性配置资源被称为外部化配置
image.png
在配置文件中设置management.endpoints.web.exposure.include=*
即可通过http访问actuator访问所有相关信息
image.png

image.png

image.png
由上图的beans可知启动类DemoApplication由于@SpringBootApplication注解也被注册为bean对象,且默认都为单例

理解“外部化配置”

image.png
相同的应用代码可以根据所处的环境,差别地使用外部的配置来源,Properties、YAML、环境变量、启动参数等
上图中17种外部属性源配置,按优先级依次递减例如命令行参数优先于配置文件

application.properties也是PropertySource的17种资源的一种

PropertySource(属性源)是外部化配置API的描述方式。外部配置属性源(PropertySource)是外部化配置的媒介,它可以是配置文件的形式(apllication'properties或application.yml),也可以是环境变量(OS environment variables)或命令行参数(Command line arguments)等

规约大于配置

image.png
Spring Boot中间无代码生成,也无须配置XML

Spring Boot与微服务

官网提供的特性中
Spring Boot提供starter属于Maven管理依赖的范畴,约定大于配置,简化XML在Spring Framework 3.1已经全面支持
Spring Boot自身的特性主要有

  • SpringApplication
  • 自动装配
  • 外部化配置
  • Apring Boot Actuator
  • 嵌入式Web容器

Spring Boot作为微服务中间件

Spring Boot自身的特性称为微服务中间件的基础,为Spring Cloud提供了基础
Spring Cloud提供一些快速构建通用的分布式系统,其包含特性如下:

  • 分布式配置
  • 服务注册和发现
  • 路由
  • 服务调用
  • 负载均衡
  • 熔断机制
  • 分布式消息

Spring Cloud高度抽象的接口是透明的,不需要关心底层实现,但当需要更替实现时,按需配置即可,不需要过多的业务回归测试
Spring Cloud Stream的整合,使得不同的通道之间可以自由地切换传输介质,达到数据通信的目的,例如消息、文件、网络等


这个家伙很懒,啥也没有留下😋