当前位置: 首页 > news >正文

摄影网站的设计与实现开题报告珠海品牌型网站建设

摄影网站的设计与实现开题报告,珠海品牌型网站建设,惠州企业自助建站,定制高端网站建设公司目录 1.前言 2.先搂一眼EndPoint 3.EndPoint如何被注入 4.EndPoint如何被暴露 4.1.如何通过http暴露 4.2.如何通过jmx暴露 5.EndPoint是怎么实现监控能力的 6.知道这些的意义是什么 1.前言 版本#xff1a;spring-boot-starter-actuator 2.6.3 阅读源码一定要带着疑…目录 1.前言 2.先搂一眼EndPoint 3.EndPoint如何被注入 4.EndPoint如何被暴露 4.1.如何通过http暴露 4.2.如何通过jmx暴露 5.EndPoint是怎么实现监控能力的 6.知道这些的意义是什么 1.前言 版本spring-boot-starter-actuator  2.6.3 阅读源码一定要带着疑问去阅读这个疑问就是你阅读的主线不然在浩如烟海的源码里面很容易迷路。我们当前的疑问是什么之前我们已经聊过spring actuator的使用了 Spring Boot 监控_springboot 监控-CSDN博客 本文要搞清楚的两个问题在于 EndPoint是怎么被注入IOC又怎么暴露出去能通过HTTP访问到的 EndPoint是怎么实现监控能力的 2.先搂一眼EndPoint 首先我们找一个EndPoint来看看此处以HealthEndPoint为例。点看源码我们可以看到这个EndPoint被EndPoint注解所注释id为health。然后其中的2个方法被ReadOperation所注释 这里其实猜都能猜到被EndPoint注解然后被注解的类被归类为EndPoint然后被集中暴露出去变成可访问的。 3.EndPoint如何被注入 我们是通过stater来引入actuator的Spring Boot体系内如何注入stater的那肯定是通过autoConfiguration来的撒。点进actuator的配置文件也可以看到 于是我们来到spring-boot-starter-actuator来看看看看它的spring.factories里面注入了些什么 见名知意了这些众多的XXXautoConfiguration是拿来做什么的就不必多说了吧health、metrics......分门别类各种EndPoint的autoConfiguration。 我们来看看HealthEndpointAutoConfiguration里面做了什么 其实就是加载了HealthEndpointConfiguration、ReactiveHealthEndpointConfiguration、HealthEndpointWebExtensionConfiguration、HealthEndpointReactiveWebExtensionConfiguration这几个类 Configuration(proxyBeanMethods false ) ConditionalOnAvailableEndpoint(endpoint HealthEndpoint.class ) EnableConfigurationProperties({HealthEndpointProperties.class}) Import({HealthEndpointConfiguration.class, ReactiveHealthEndpointConfiguration.class, HealthEndpointWebExtensionConfiguration.class, HealthEndpointReactiveWebExtensionConfiguration.class}) public class HealthEndpointAutoConfiguration {public HealthEndpointAutoConfiguration() {} } 我们先看HealthEndpointConfiguration它里面向IOC中注入了health的RegistryHealthContributorRegistry中注册了HealthContributor类型的实体。 我们随便打开一个health的EndPoint发现它都继承同一个父类 而这个父类实现了HealthContributor接口 所以其实就是在将注册器注入IOC的时候就将所有属于该类型的EndPoint注册到注册器中了。 4.EndPoint如何被暴露 4.1.如何通过http暴露 在SpringBoot体系中谁来负责http请求那当然是SpringMVC的DispatcherServlet。把path和对应处理的类注册到DispatcherServlet中就行了。spring actuator就是这样对外通过HTTP的方式暴露EndPoint的。 回到spring.factories找ManagementContextAutoConfiguration这个类中完成了通过HTTP的方式来暴露EndPoint的过程 这个类的代码并不多我们去掉不要的部分把和对外暴露EndPoint相关的代码保留来读一下 ManagementContextConfiguration(proxyBeanMethods false ) ConditionalOnWebApplication(type Type.SERVLET )//只能在Web环境中生效 public class ServletEndpointManagementContextConfiguration {public ServletEndpointManagementContextConfiguration() {} ​Configuration(proxyBeanMethods false)ConditionalOnClass({DispatcherServlet.class})//当SpringMVC存在时向IOC中注入public static class WebMvcServletEndpointManagementContextConfiguration {public WebMvcServletEndpointManagementContextConfiguration() {}Beanpublic ServletEndpointRegistrar servletEndpointRegistrar(WebEndpointProperties properties, ServletEndpointsSupplier servletEndpointsSupplier, DispatcherServletPath dispatcherServletPath) {return new ServletEndpointRegistrar(dispatcherServletPath.getRelativePath(properties.getBasePath()), servletEndpointsSupplier.getEndpoints());//核心的一步将EndPoint和对于的Path注册给DispatcherServlet}} } 最后就是开头我们看见的在HealthEndPoint被ReadOperation注解的方法就相当于RequetMapping拿来处理读请求的。 4.2.如何通过jmx暴露 jmx的对外暴露更简单。直接找JmxEndpointAutoConfiguration 进去整个逻辑一目了然去扫Jmx的EndPoint然后注册进mBeanServer里 5.EndPoint是怎么实现监控能力的 spring actuator获取各种监控的值是怎么获取到的 内置指标获取 Spring Boot 提供了一些内置的监控指标获取器用于获取常见的监控数据比如 JVM 内存使用情况、系统负载、数据库连接池状态等。这些指标获取器会周期性地获取数据并将其暴露为 Actuator 端点以便外部系统或者工具可以通过相应的接口来获取。例如MemoryHealthIndicator 获取 JVM 内存使用情况DataSourceHealthIndicator 获取数据库连接池状态等。 自定义指标获取 除了内置的指标获取器外开发者还可以通过实现 HealthIndicator 接口来自定义监控指标获取器用于获取应用程序特定的监控数据。HealthIndicator 接口定义了一个 health() 方法用于返回健康状态信息。开发者可以在 health() 方法中编写自定义的监控逻辑比如检查某个依赖服务的可用性、计算某个指标的值等。 JMX 获取 Spring Actuator 还可以通过 Java Management Extensions (JMX) API 来获取一些系统级的监控数据比如 JVM 运行时信息、操作系统信息等。Spring Actuator 中的一些监控指标获取器会使用 JMX API 来获取数据然后将其暴露为 Actuator 端点。例如JvmInfoContributor 使用 JMX API 来获取 JVM 运行时信息。 系统调用获取 有些监控数据可能需要通过系统调用来获取比如获取操作系统的 CPU 使用率、磁盘使用情况等。Spring Actuator 中的一些监控指标获取器会使用系统调用来获取这些数据然后将其暴露为 Actuator 端点。 6.知道这些的意义是什么 本文是作者java监控系列文章的第三篇之前两篇文章我们着重讲了java监控的基石——JMX。 【JMX】JAVA监控的基石-CSDN博客 详解tomcat中的jmx监控-CSDN博客 在spring actuator里面我们知道了目前市面上一个成熟的框架是如何通过http、JMX等不同方式来对外暴露监控能力的。基本上走到这里我们就已经对JAVA整个的监控技术体系最核心的部分有了认识了。作为监控框架来说核心点有哪些无非是 获取数据 对外暴露口子 监控的核心肯定是怎么获取数据以及如何将获取的数据暴露出去只要这两点搞定了后面的对接各种可视化平台就很好办了。所有知道为啥这篇文章为啥要关心spring actuator这些地方了吧主要是看看实现思想。
http://www.pierceye.com/news/557494/

相关文章:

  • 企业在线购物网站建设做画册的网站
  • 做网站图片自动切换怎么建立官网
  • 河南制作网站电话免费的网站登录模板
  • 鹰潭做网站的建筑工程公司取名
  • 网站建设与运营实验开发一个网站的成本
  • 自考网站建设与管理资料郑州高端网站建设哪家好
  • 网站设计开发维护设计云网站
  • 北京工商局网站怎么做增资h5个人页面制作
  • 北京好的网站建设12个 网站模板 管理办法
  • vs2017 如何做网站最近一周新闻热点大事件
  • wordpress建站欣赏解释网站为什么这样做
  • 网站建设模板登录界面七牛wordpress插件
  • 手机 网站制作上饶企业网站建设
  • 网站建设需要知道什么软件深达网站制作深圳公司
  • 怎么做监控网站Wordpress页面函数
  • 梁平网站建设百度搜索排名优化哪家好
  • 芜湖网站建设芜湖狼道cad精品课网站建设
  • qq空间认证的网站后台根目录seo和sem是什么意思
  • 中国建设集团门户网站装修公司做网站
  • 东莞seo建站公司哪家好怎么把网站推广出去
  • 网站建设什么时候好豆瓣wordpress
  • 动漫网站设计报告最好的wordpress商城主题
  • 陕西餐饮加盟网站建设如何做一个网站代码
  • 合浦住房和城乡规划建设局网站网页设计培训机构学什么好
  • 做网站需要注意的地方模板ppt
  • 自己建立公司网站自助建站系统
  • 淅川微网站开发wordpress 侧边收起
  • 网站建设企业哪家好乐清站在那儿
  • 网站建设公司人员配置做网站衡水
  • 成都网站建设939seo搜索优化软件