美文网首页
零基础快速入门SpringBoot2.0教程 (四)

零基础快速入门SpringBoot2.0教程 (四)

作者: DdShare | 来源:发表于2018-09-06 09:49 被阅读46次
    
    
    一、JMS介绍和使用场景及基础编程模型
    
      简介:讲解什么是小写队列,JMS的基础知识和使用场景
    
     1、什么是JMS: Java消息服务(Java Message Service),Java平台中关于面向消息中间件的接口
    
     2、JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database Connectivity)。这里,JDBC 是可以用来访问许多不同关系数据库的 API
    
     3、使用场景:
    
     1)跨平台
    
     2)多语言
    
     3)多项目
    
     4)解耦
    
     5)分布式事务
    
     6)流量控制
    
     7)最终一致性
    
     8)RPC调用
    
      上下游对接,数据源变动->通知下属
    
     4、概念 
    
     JMS提供者:Apache ActiveMQ、RabbitMQ、Kafka、Notify、MetaQ、RocketMQ
    
     JMS生产者(Message Producer)
    
     JMS消费者(Message Consumer)
    
     JMS消息
    
     JMS队列
    
     JMS主题
    
     JMS消息通常有两种类型:点对点(Point-to-Point)、发布/订阅(Publish/Subscribe)
    
     5、编程模型
    
     MQ中需要用的一些类
    
     ConnectionFactory :连接工厂,JMS 用它创建连接
    
     Connection :JMS 客户端到JMS Provider 的连接
    
     Session: 一个发送或接收消息的线程
    
     Destination :消息的目的地;消息发送给谁.
    
     MessageConsumer / MessageProducer: 消息接收者,消费者
    
    二、ActiveMQ5.x消息队列基础介绍和安装
    
      简介:介绍ActiveMQ5.x消息队列基础特性和本地快速安装
    
      特点:
    
     1)支持来自Java,C,C ++,C#,Ruby,Perl,Python,PHP的各种跨语言客户端和协议
    
     2)支持许多高级功能,如消息组,虚拟目标,通配符和复合目标
    
     3) 完全支持JMS 1.1和J2EE 1.4,支持瞬态,持久,事务和XA消息
    
     4) Spring支持,ActiveMQ可以轻松嵌入到Spring应用程序中,并使用Spring的XML配置机制进行配置
    
     5) 支持在流行的J2EE服务器(如TomEE,Geronimo,JBoss,GlassFish和WebLogic)中进行测试
    
     6) 使用JDBC和高性能日志支持非常快速的持久化
    
     ...
    
     1、下载地址:http://activemq.apache.org/activemq-5153-release.html
    
     2、快速开始:http://activemq.apache.org/getting-started.html
    
     3、如果我们是32位的机器,就双击win32目录下的activemq.bat,如果是64位机器,则双击win64目录下的activemq.bat
    
     4、bin目录里面启动 选择对应的系统版本和位数,activeMQ start 启动
    
     5、启动后访问路径http://127.0.0.1:8161/
    
     6、用户名和密码默认都是admin
    
     7、官方案例集合
    
     https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples
    
      面板:   
    
     Name:队列名称。
    
     Number Of Pending Messages:等待消费的消息个数。
    
     Number Of Consumers:当前连接的消费者数目
    
     Messages Enqueued:进入队列的消息总个数,包括出队列的和待消费的,这个数量只增不减。
    
     Messages Dequeued:已经消费的消息数量。
    
    三、SpringBoot2整合ActiveMQ实战之点对点消息
    
      简介:SpringBoot2.x整合ActiveMQ实战之点对点消息
    
     1、官网地址:https://docs.spring.io/spring-boot/docs/<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">2.1.0</st1:chsdate>.BUILD-SNAPSHOT/reference/htmlsingle/#boot-features-activemq
    
     2、加入依赖
    
     <!-- 整合消息队列ActiveMQ -->
    
     <dependency>
    
     <groupId>org.springframework.boot</groupId>
    
     <artifactId>spring-boot-starter-activemq</artifactId>
    
     </dependency>
    
     <!-- 如果配置线程池则加入 -->
    
     <dependency>
    
     <groupId>org.apache.activemq</groupId>
    
     <artifactId>activemq-pool</artifactId>
    
     </dependency>
    
     3、application.properties配置文件配置
    
     #整合jms测试,安装在别的机器,防火墙和端口号记得开放
    
     spring.activemq.broker-url=tcp://127.0.0.1:61616
    
     #集群配置
    
     #spring.activemq.broker-url=failover:(tcp://localhost:61616,tcp://localhost:61617)
    
     spring.activemq.user=admin
    
     spring.activemq.password=admin
    
     #下列配置要增加依赖
    
     spring.activemq.pool.enabled=true
    
     spring.activemq.pool.max-connections=100
    
     4、springboot启动类 @EnableJms,开启支持jms
    
     5、模拟请求
    
     localhost:8080/api/v1/order?msg=12312321321312
    
     6、消费者:实时监听对应的队列
    
     @JmsListener(destination = "order.queue")
    
    四、SpringBoot2整合ActiveMQ实战之发布订阅模式
    
      简介:SpringBoot整合ActiveMQ实战之发布订阅模式(pub/sub),及同时支持点对点和发布订阅模型
    
     1、需要加入配置文件,支持发布订阅模型,默认只支持点对点
    
     #default point to point
    
     spring.jms.pub-sub-domain=true
    
      注意点:
    
     1、默认消费者并不会消费订阅发布类型的消息,这是由于springboot默认采用的是p2p模式进行消息的监听
    
      修改配置:spring.jms.pub-sub-domain=true
    
     2、@JmsListener如果不指定独立的containerFactory的话是只能消费queue消息
    
      修改订阅者container:containerFactory="jmsListenerContainerTopic"
    
     //需要给topic定义独立的JmsListenerContainer
    
     @Bean
    
     public JmsListenerContainerFactory<?> jmsListenerContainerTopic(ConnectionFactory activeMQConnectionFactory) {
    
     DefaultJmsListenerContainerFactory bean = new DefaultJmsListenerContainerFactory();
    
     bean.setPubSubDomain(true);
    
     bean.setConnectionFactory(activeMQConnectionFactory);
    
     return bean;
    
     }
    
      在配置文件里面,注释掉 #spring.jms.pub-sub-domain=true
    
    五、RocketMQ4.x消息队列介绍
    
      简介:阿里开源消息队列 RocketMQ4.x介绍和新概念讲解
    
     1、Apache RocketMQ作为阿里开源的一款高性能、高吞吐量的分布式消息中间件
    
     2、特点
    
     1)在高压下1毫秒内响应延迟超过99.6%。
    
     2)适合金融类业务,高可用性跟踪和审计功能。
    
     3)支持发布订阅模型,和点对点
    
     4)支持拉pull和推push两种消息模式
    
     5)单一队列百万消息
    
     6)支持单master节点,多master节点,多master多slave节点
    
     ...
    
     3、概念
    
     Producer:消息生产者
    
     Producer Group:消息生产者组,发送同类消息的一个消息生产组
    
     Consumer:消费者
    
     Consumer Group:消费同个消息的多个实例
    
     Tag:标签,子主题(二级分类),用于区分同一个主题下的不同业务的消息
    
     Topic:主题
    
     Message:消息
    
     Broker:MQ程序,接收生产的消息,提供给消费者消费的程序
    
     Name Server:给生产和消费者提供路由信息,提供轻量级的服务发现和路由         
    
     3、官网地址:http://rocketmq.apache.org/
    
      学习资源:
    
     1)http://jm.taobao.org/<st1:chsdate year="2017" month="1" day="12" islunardate="False" isrocdate="False" w:st="on">2017/01/12</st1:chsdate>/rocketmq-quick-start-in-10-minutes/ 
    
     2)[https://www.jianshu.com/p/453c6e7ff81c](https://www.jianshu.com/p/453c6e7ff81c)
    
    六、RocketMQ4.x本地快速部署
    
      简介:RocketMQ4.x本地快速部署
    
     1、安装前提条件(推荐)
    
     64bit OS, Linux/Unix/Mac
    
     64bit JDK 1.8+;
    
     2、快速开始 http://rocketmq.apache.org/docs/quick-start/
    
      下载安装包:https://www.apache.org/dyn/closer.cgi?path=rocketmq/<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">4.2.0</st1:chsdate>/rocketmq-all-4.2.0-bin-release.zip
    
      路径:/Users/jack/Desktop/person/springboot/资料/第13章/第5课/rocketmq-all-<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">4.2.0</st1:chsdate>-bin-release/bin
    
     3、解压压缩包
    
     1)进入bin目录,启动namesrv
    
     nohup sh mqnamesrv &
    
     2) 查看日志 tail -f nohup.out
    
      结尾:The Name Server boot success. serializeType=JSON 表示启动成功
    
     3、启动broker  
    
     nohup sh mqbroker -n 127.0.0.1:9876 &
    
     4)、关闭nameserver broker执行的命令
    
     sh mqshutdown namesrv
    
     sh mqshutdown broker
    
    七、RoekerMQ4.x可视化控制台讲解
    
      简介:RoekerMQ4.x可视化控制台讲解
    
     1、下载 https://github.com/apache/rocketmq-externals
    
     2、编译打包 mvn clean package -Dmaven.test.skip=true
    
     3、target目录 通过java -jar的方式运行
    
     4、无法连接获取broker信息
    
     1)修改配置文件,名称路由地址为 namesrvAddr,例如我本机为
    
     2)src/main/resources/application.properties
    
     rocketmq.config.namesrvAddr=192.168.0.101:9876
    
     5、默认端口 localhost:8080
    
     6、注意:
    
      在阿里云,腾讯云或者虚拟机,记得检查端口号和防火墙是否启动
    
    八、Springboot2整合RocketMQ4.x实战上集
    
      简介:Springboot2.x整合RocketMQ4.x实战,加入相关依赖,开发生产者代码
    
      启动nameser和broker
    
     1、加入相关依赖
    
     <dependency>
    
     <groupId>org.apache.rocketmq</groupId>
    
     <artifactId>rocketmq-client</artifactId>
    
     <version>${rocketmq.version}</version>
    
     </dependency>
    
     <dependency>
    
     <groupId>org.apache.rocketmq</groupId>
    
     <artifactId>rocketmq-common</artifactId>
    
     <version>${rocketmq.version}</version>
    
     </dependency>
    
     2、application.properties加入配置文件            
    
     # 消费者的组名
    
     apache.rocketmq.consumer.PushConsumer=orderConsumer
    
     # 生产者的组名
    
     apache.rocketmq.producer.producerGroup=Producer
    
     # NameServer地址
    
     apache.rocketmq.namesrvAddr=127.0.0.1:9876
    
     3、开发MsgProducer
    
     /**
    
     * 生产者的组名
    
     */
    
     @Value("${apache.rocketmq.producer.producerGroup}")
    
     private String producerGroup;
    
     /**
    
     * NameServer 地址
    
     */
    
     @Value("${apache.rocketmq.namesrvAddr}")
    
     private String namesrvAddr;
    
     private DefaultMQProducer producer ;
    
     public DefaultMQProducer getProducer(){
    
     return this.producer;
    
     }
    
     @PostConstruct
    
     public void defaultMQProducer() {
    
     //生产者的组名
    
     producer = new DefaultMQProducer(producerGroup);
    
     //指定NameServer地址,多个地址以 ; 隔开
    
     //如 producer.setNamesrvAddr("192.168.100.141:9876;192.168.100.142:9876;192.168.100.149:9876");
    
     producer.setNamesrvAddr(namesrvAddr);
    
     producer.setVipChannelEnabled(false);
    
     try {
    
     /**
    
     * Producer对象在使用之前必须要调用start初始化,只能初始化一次
    
     */
    
     producer.start();
    
     } catch (Exception e) {
    
     e.printStackTrace();
    
     }
    
     // producer.shutdown(); 一般在应用上下文,关闭的时候进行关闭,用上下文监听器
    
     }
    
    九、Springboot2整合RocketMQ4.x实战下集
    
      简介:Springboot2.x整合RocketMQ4.x实战,开发消费者代码,常见问题处理
    
     1、创建消费者
    
      问题:
    
     1、Caused by: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to <172.17.42.1:10911> failed
    
     2、com.alibaba.rocketmq.client.exception.MQClientException: Send [1] times, still failed, cost [1647]ms, Topic: TopicTest1, BrokersSent: [broker-a, null, null]
    
     3、org.apache.rocketmq.client.exception.MQClientException: Send [3] times, still failed, cost [497]ms, Topic: TopicTest, BrokersSent: [chenyaowudeMacBook-Air.local, chenyaowudeMacBook-Air.local, chenyaowudeMacBook-Air.local]
    
      解决:多网卡问题处理
    
     1、设置producer: producer.setVipChannelEnabled(false);
    
     2、编辑ROCKETMQ 配置文件:broker.conf(下列ip为自己的ip)
    
     namesrvAddr = 192.168.0.101:9876
    
     brokerIP1 = 192.168.0.101
    
     4、DESC: service not available now, maybe disk full, CL:
    
      解决:修改启动脚本runbroker.sh,在里面增加一句话即可:            
    
     JAVA_OPT="${JAVA_OPT} -Drocketmq.broker.diskSpaceWarningLevelRatio=0.98"
    
      (磁盘保护的百分比设置成98%,只有磁盘空间使用率达到98%时才拒绝接收producer消息)
    
      常见问题处理:
    
     https://blog.csdn.net/sqzhao/article/details/54834761
    
     https://blog.csdn.net/mayifan0/article/details/67633729
    
     [https://blog.csdn.net/a906423355/article/details/78192828](https://blog.csdn.net/a906423355/article/details/78192828)
    
    十、SpringBoot多环境配置介绍和项目实战(核心知识)
    
      简介:SpringBoot介绍多环境配置和使用场景
    
     1、不同环境使用不同配置
    
      例如数据库配置,在开发的时候,我们一般用开发数据库,而在生产环境的时候,我们是用正式的数据
    
     2、配置文件存放路径
    
     classpath根目录的“/config”包下
    
     classpath的根目录下
    
     3、spring boot允许通过命名约定按照一定的格式(application-{profile}.properties)来定义多个配置文件
    
    十一、SprinBoot2.x响应式编程简介
    
      简介:讲解什么是reactive响应式编程和使用的好处
    
     1、基础理解:
    
      依赖于事件,事件驱动(Event-driven)
    
      一系列事件称为“流”
    
      异步
    
      非阻塞
    
      观察者模式
    
      网上的一个例子:
    
     int b= 2;
    
     int c=3
    
     int a = b+c //命令式编程后续b和c变化,都不影响a
    
     b=5;
    
     int b= 2;
    
     int c= 3
    
     int a = b+c //响应式编程中,a的变化,会和b、c的变化而变化(事件驱动)
    
     b=5;
    
     2、官网:https://docs.spring.io/spring-boot/docs/<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">2.1.0</st1:chsdate>.BUILD-SNAPSHOT/reference/htmlsingle/#boot-features-webflux
    
     SpingBoot2底层是用spring5,开始支持响应式编程,Spring又是基于Reactor试下响应式。
    
      学习资料
    
     1、reactive-streams学习资料:http://www.reactive-streams.org/
    
     2、web-flux相关资料:[https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html#spring-webflux](https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html#spring-webflux)
    
    十二、SpringBoot2.x响应式编程webflux介绍
    
      简介:讲解SpringBoot2.x响应式编程介绍 Mono、Flux对象和优缺点
    
     1、Spring WebFlux是Spring Framework 5.0中引入的新的反应式Web框架
    
      与Spring MVC不同,它不需要Servlet API,完全异步和非阻塞,并 通过Reactor项目实现Reactive Streams规范。
    
     RxJava
    
     2、Flux和Mono User List<User>
    
     1)简单业务而言:和其他普通对象差别不大,复杂请求业务,就可以提升性能
    
     2)通俗理解:
    
     Mono 表示的是包含 0 或者 1 个元素的异步序列
    
     mono->单一对象 User redis->用户ID-》唯一的用户Mono<User> 
    
     Flux 表示的是包含 0 到 N 个元素的异步序列
    
     flux->数组列表对象 List<User> redis->男性用户->Flux<User>
    
     Flux 和 Mono 之间可以进行转换
    
     3、Spring WebFlux有两种风格:基于功能和基于注解的。基于注解非常接近Spring MVC模型,如以下示例所示:
    
      第一种:
    
     @RestController
    
     @RequestMapping(“/ users”)
    
     public class MyRestController {
    
     @GetMapping(“/ {user}”)
    
     public Mono <User> getUser( @PathVariable Long user){
    
     // ...
    
     }
    
     @GetMapping(“/ {user} / customers”)
    
     public Flux <Customer> getUserCustomers( @PathVariable Long user){
    
     // ...
    
     }
    
     @DeleteMapping(“/ {user}”)
    
     public Mono <User> deleteUser( @PathVariable Long user){
    
     // ...
    
     }
    
     }
    
      第二种: 路由配置与请求的实际处理分开
    
     @Configuration
    
     public class RoutingConfiguration {
    
     @Bean
    
     public RouterFunction <ServerResponse> monoRouterFunction(UserHandler userHandler){
    
     return route(GET( “/ {user}”).and(accept(APPLICATION_JSON)),userHandler :: getUser)
    
     .andRoute(GET(“/ {user} / customers”).and(accept(APPLICATION_JSON)),userHandler :: getUserCustomers)
    
     .andRoute(DELETE(“/ {user}”).and(accept(APPLICATION_JSON)),userHandler :: deleteUser);
    
     }
    
     }
    
     @Component
    
     public class UserHandler {
    
      公共 Mono <ServerResponse> getUser(ServerRequest请求){
    
     // ...
    
     }
    
     public Mono <ServerResponse> getUserCustomers(ServerRequest request){
    
     // ...
    
     }
    
      公共 Mono <ServerResponse> deleteUser(ServerRequest请求){
    
     // ...
    
     }
    
     }
    
     4、Spring WebFlux应用程序不严格依赖于Servlet API,因此它们不能作为war文件部署,也不能使用src/main/webapp目录
    
     5、可以整合多个模板引擎
    
      除了REST Web服务外,您还可以使用Spring WebFlux提供动态HTML内容。Spring WebFlux支持各种模板技术,包括Thymeleaf,FreeMarker
    
    十三、SpringBoot2.x webflux实战
    
      简介:webflux响应式编程实战
    
     1、WebFlux中,请求和响应不再是WebMVC中的ServletRequest和ServletResponse,而是ServerRequest和ServerResponse
    
     2、加入依赖,如果同时存在spring-boot-starter-web,则会优先用spring-boot-starter-web
    
     <dependency>
    
     <groupId>org.springframework.boot</groupId>
    
     <artifactId>spring-boot-starter-webflux</artifactId>
    
     </dependency>
    
      测试
    
     localhost:8080/api/v1/user/test
    
     3、启动方式默认是Netty,8080端口
    
     4、参考:[https://spring.io/blog/2016/04/19/understanding-reactive-types](https://spring.io/blog/2016/04/19/understanding-reactive-types)、
    
    十四、服务端推送常用技术介绍
    
      简介:服务端常用推送技术介绍,如websocket,sse轮询等
    
     1、客户端轮询:ajax定时拉取
    
     2、服务端主动推送:WebSocket
    
      全双工的,本质上是一个额外的tcp连接,建立和关闭时握手使用http协议,其他数据传输不使用http协议
    
      更加复杂一些,适用于需要进行复杂双向数据通讯的场景
    
     3、服务端主动推送:SSE (Server Send Event)
    
     html5新标准,用来从服务端实时推送数据到浏览器端,
    
      直接建立在当前http连接上,本质上是保持一个http长连接,轻量协议
    
      简单的服务器数据推送的场景,使用服务器推送事件   
    
      学习资料:[http://www.w3school.com.cn/html5/html_5_serversentevents.asp](http://www.w3school.com.cn/html5/html_5_serversentevents.asp)
    
    十五、高级篇幅之云服务器介绍和部署生产环境实战
    
    1、阿里云服务器介绍和使用讲解
    
      简介:阿里云服务器介绍和使用讲解
    
    2、阿里云Linux服务器部署JDK8实战
    
      简介:在阿里云服务器上安装JDK8和配置环境变量
    
     lnux下使用wget下载jdk8:
    
      进到目录/usr/local/software
    
      配置环境变量
    
     vim /etc/profile
    
      加入
    
     export JAVA_HOME=/usr/local/software/jdk8
    
     export PATH=$PATH:$JAVA_HOME/bin
    
     export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
     export JAVA_HOME PATH CLASSPATH
    
      使用 source /etc/profile 让配置立刻生效
    
    3、阿里云服务器SpringBoot2.x生产环境部署实战
    
      简介:讲解SpringBoot生产环境部署和常见注意事项
    
     1、去除相关生产环境没用的jar
    
      比如热部署dev-tool
    
     2、本地maven打包成jar包
    
     mvn clean package -Dmaven.test.skip=true 跳过测试
    
     3、服务器安装jdk,上传Jar包
    
      上传工具:
    
     windows:
    
     winscp
    
     securtyCRT
    
     mac:
    
     filezilla
    
     ssh root@120.79.160.143
    
      访问路径 http://120.79.160.143:8080/api/v1/user/find
    
     java -jar xxxx.jar
    
      守护进程、系统服务、shell脚本
    
      打包指定配置文件
    
     1、使用maven的profiles
    
     2、使用springboot的profile=active
    
      访问不了
    
     1、阿里云防火墙是否开启,可以选择关闭,关闭是不安全的,可以选择开放端口
    
     2、阿里云的安全访问组,开启对应的端口,如果应用是以80端口启动,则默认可以访问
    
     4、成熟的互联网公司应该有的架构
    
      本地提交生产代码->gitlab仓库->Jenkins自动化构建->运维或者开发人员发布
    
    十六、SpringBoot2.x监控Actuator实战上集
    
      简介:讲解SpringBoot使用actuator监控配置和使用
    
      可用性:100%,99.9%
    
     1、介绍什么是actuator
    
      官方介绍:
    
     Spring Boot包含许多附加功能,可帮助您在将应用程序投入生产时监视和管理应用程序。 可以选择使用HTTP端点或JMX来管理和监控您的应用程序,自动应用于审计,健康和指标收集;
    
      一句话:springboot提供用于监控和管理生产环境的模块
    
      官方文档:https://docs.spring.io/spring-boot/docs/<st1:chsdate year="1899" month="12" day="30" islunardate="False" isrocdate="False" w:st="on">2.1.0</st1:chsdate>.BUILD-SNAPSHOT/reference/htmlsingle/#production-ready
    
     2、加入依赖
    
     <dependency>
    
     <groupId>org.springframework.boot</groupId>
    
     <artifactId>spring-boot-starter-actuator</artifactId>
    
     </dependency>
    
     3、加入上述依赖后,访问几个url
    
     /actuator/health
    
     /actuator/info
    
     /actuator
    
    十七、SpringBoot2监控Actuator下集及生产环境建议
    
      简介:SpringBoot2.x监控Actuator实战下集及生产环境建议,SpringBoot新旧版本区别
    
      注意点: 网上的资料大多数没有讲到访问的前缀
    
      端点基础路径由 / 调整到 /actuator
    
      如:/info调整为/actuator/info
    
     /actuator/xxx
    
     1、只能访问几个url
    
     1)需要在配置文件中加入下列配置
    
     management.endpoints.web.exposure.include=*
    
     2)官网说明:https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-security-actuator
    
      原因:
    
      出于安全考虑,除/ health和/ info之外的所有执行器默认都是禁用的。 management.endpoints.web.exposure.include属性可用于启用执行器
    
     2、建议
    
      在设置management.endpoints.web.exposure.include之前,请确保暴露的执行器不包含敏感信息和/
    
      或通过将其放置在防火墙进行控制,不对外进行使用
    
      禁用的端点将从应用程序上下文中完全删除。如果您只想更改端点所暴露的技术,请改用 include和exclude属性 。
    
      例子:
    
      开启全部:management.endpoints.web.exposure.include=*
    
      开启某个:management.endpoints.web.exposure.include=metrics
    
      关闭某个:management.endpoints.web.exposure.exclude=metrics
    
      或者用springadmin进行管理
    
      相关资料:https://www.cnblogs.com/ityouknow/p/8440455.html
    
      或者用自己编写脚本监控
    
     CPU、内存、磁盘、nginx的http响应状态码200,404,5xx
    
     3、介绍常用的几个
    
     /health 查看应用健康指标
    
     /actuator/metrics 查看应用基本指标列表
    
     /actuator/metrics/{name} 通过上述列表,查看具体 查看具体指标
    
     /actuator/env 显示来自Spring的 ConfigurableEnvironment的属性</o:smarttagtype>
    
    

    更多学习资料可参考:
    https://www.xdclass.net/#/coursecatalogue?video_id=4
    https://ke.qq.com/course/299498

    相关文章

      网友评论

          本文标题:零基础快速入门SpringBoot2.0教程 (四)

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