开发完成后,生产就绪需要做哪些工作呢?我认为,以下三方面的工作最重要。
提供健康检测接口。传统采用ping的方式对应用进行探活检测并不准确。有的时候,应用的关键内部或外部依赖已经离线,导致其根本无法正常工作,但其对外的Web端口或管理端口是可以ping通的。我们应该提供一个专有的监控检测接口,并尽可能触达一些内部组件。暴露应用内部信息。应用内部诸如线程池、内存队列等组件,往往在应用内部扮演了重要的角色,如果应用或应用框架可以对外暴露这些重要信息,并加以监控,那么就有可能在诸如OOM等重大问题暴露之前发现蛛丝马迹,避免出现更大的问题。建立应用指标Metrics监控。Metrics可以翻译为度量或者指标,指的是对于一些关键信息以可聚合的、数值的形式做定期统计,并绘制出各种趋势表。这里的指标监控,包括两个方面:一是,应用内部重要组件的指标监控,比如JVM的一些指标、接口的QPS等;二是,应用的业务数据的监控,比如电商订单量、游戏在线人数等。
SpringBoot准备工作
SpringBoot有一个Actuator模块,封装了诸如健康检测、应用内部信息、Metrics指标等生产就绪的功能。今天这一讲后面的内容都是基于Actuator的,因此我们需要先完成Actuator的引入和配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点