欢迎来到皮皮网官网

【彩色视频app源码】【约拍源码】【vr 框架源码】actuator 源码分析

时间:2024-12-29 09:11:01 来源:ring源码

1.springbootcloud组件
2.JAVA程序应用与开发(java应用开发技术实例教程)
3.Java培训班的源码课程一般都学习什么内容呢?
4.JConsole、 VisualVM监控工具背后的分析支持者 JMX

actuator 源码分析

springbootcloud组件

       .SpringBoot和SpringCloud的关系

       很多人新手对于SpringBoot和SpringCloud的关系说不清楚、理解不清楚,源码本文抽出点时间来进行分享下自己的分析理解,以帮助大家更好的源码理解两者之间的关系。

       其设计目的分析彩色视频app源码之初是用来简化Spring应用的初始搭建以及开发过程。很多东西都是源码配置好的,约定大于配置,分析使用注解替代了很多xml臃肿的源码配置,极大的分析简化了项目配置的消耗,提供了高效的源码编程脚手架。

       Cloud相当于利用了SpringBoot的分析约拍源码开发便利性巧妙地简化了分布式系统基础设施的开发,像是源码服务注册发现、配置中心、分析消息总线、源码负载均衡、断路器、数据监控等,都可以用SpringBoot的开发风格做到一键启动和部署,SpringCloud并没有重复的造轮子,把各家公司成熟,经得起考验的服务框架组合起来,通过SpringBoot屏蔽调复杂的vr 框架源码配置和实现原理,留给开发者一套简单易懂、容易部署、容易维护的分布式开发工具包。

       其中的关系是:

       Spring-》SpingBoot-》SpringCloud

       Cloud的核心组件:

       感觉这个话题能写好多的东西,像是SpingCloud和Dubbbo的微服务选型等等再进行对比、比较优缺点,本篇就简单的进行了总结和介绍,希望能帮助到有困惑的朋友吧,后面有时间在写一些文章进行拓展和补充。

SpringCloud微服务体系的组成

       NetflixEureka是SpringCloud服务注册发现的基础组件

       Eureka提供RESTful风格(HTTP协议)的服务注册与发现

       Eureka采用C/S架构,SpringCloud内置客户端

       启用应用,访问

       Eureka客户端开发要点

       maven依赖spring-cloud-starter-netflix-eureka-clientapplication.yml

       配置eureka.client.service-url.defaultZone

       入口类增加@EnableEurekaClient

       先启动注册中心,在启动客户端,访问localhost:查看eureka注册中心,看到客户端注册

       Eureka名词概念

       Register-服务注册,向Eureka进行注册登记

       Renew-服务续约,秒/次心跳包健康检查.秒未收到剔除服务

       FetchRegistries-获取服务注册列表,获取其他微服务地址

       Cancel-服务下线,某个微服务通知注册中心暂停服务

       Eviction-服务剔除,秒未续约,从服务注册表进行剔除

       Eureka自我保护机制

       Eureka在运行期去统计心跳失败率在分钟之内是否低于%

       如果低于%,会将这些实例保护起来,乐住源码让这些实例不会被剔除

       关闭自我保护:eureka.服务实例.

       enable-self-preservation:false

       PS:如非网络特别不稳定,建议关闭

       Eureka高可用配置步骤

       服务提供者defaultZone指向其他的Eureka

       客户端添加所有Eureka服务实例URL

       Actuator自动为微服务创建一系列的用于监控的端点

       Actuator在SpringBoot自带,SpringCloud进行扩展

       pom.xml依赖spring-boot-starter-actuator

       RestTemplate+@LoadBalanced显式调用

       OpenFeign隐藏微服务间通信细节

       Ribbon是RestTemplate与OpenFeign的通信基础

       Feign是一个开源声明式WebService客户端,用于简化服务通信

       Feign采用“接口+注解”方式开发,屏蔽了网络通信的细节

       OpenFeign是SpringCloud对Feign的增强,支持SpringMVC注解

       1.新建SpringbootWeb项目,applicationname为product-service

       在pom.xml中引入依赖

       spring-cloud-starter-alibaba-nacos-discovery作用为向Nacosserver注册服务。

       spring-cloud-starter-openfeign作用为实现服务调用。

       2.修改application.yml配置文件

       3.在启动类上添加@EnableDiscoveryClient、@EnableFeignClients注解

       4.编写OrderClientInterface

       注:/api/v1/order/test会在下面order-service声明。

       OrderClient.java

       5.编写Controller和service

       ProductController.java

       ProductService.java

       1.OpenFeign开启通信日志

       基于SpringBoot的logback输出,默认debug级别

       设置项:feign.client.config.微服务id.loggerLevel

       微服务id:default代表全局默认配置

       2.通信日志输出格式

       NONE:不输出任何通信日志

       BASIC:只包含URL、请求方法、easytouch 源码分析状态码、执行时间

       HEADERS:在BASIC基础上,额外包含请求与响应头

       FULL:包含请求与响应内容最完整的信息

       3.OpenFeign日志配置项

       LoggerLevel开启通信日志

       ConnectionTimeout与ReadTimeout

       利用/s/cR1oZ_elMd8y1TyHg0rA

提取码:fqy6

       微服务是对于微信公众平台提供的辅助管理平台,强化了微信公众号的互动营销推广与客户关系维护功能。微服务平台开发了为商家定制的“个性化管理、营销推广、客户关系管理、会员卡管理”等几个重要的运营管理模块。

JConsole、 VisualVM监控工具背后的支持者 JMX

       本文将深入解读JMX(Java Management Extensions),这个在Spring Boot Actuator、JConsole和VisualVM等工具背后默默工作的技术。JMX是Java用于管理和监控Java程序的标准,特别适用于监控JVM,如内存、CPU、线程和垃圾收集等。

       通过JMX,可以创建直观的JVM监控界面,如上图所示,无论是自定义的还是JConsole和VisualVM的界面,都展示了JMX的强大功能。

       JMX架构与MBean

       JMX架构由MBeanServer(负责管理MBean)和客户端(如JConsole和VisualVM)组成。MBean是Java Bean的特殊形式,用于暴露系统资源的状态和提供操作接口。四种类型的MBean包括Standard MBean、Dynamic MBean、Open MBean和Model MBean,它们各自有特定的应用场景。

       实践与应用

       开发中,我们通常无需直接创建MBean,而是使用已存在的或第三方提供的。例如,Tomcat和Spring Boot Actuator都使用了JMX。定义MBean时,实体类继承MBean接口,接口名遵循固定的命名规则。

       JConsole允许用户查看本地JVM的MBean,包括自定义的。通过RMI连接,客户端如VisualVM可以远程访问MBean,提供更灵活的监控方式。

       源码与示例

       想深入了解JMX,可参考GitHub上的示例代码,链接:[github.com/huzhicheng/l...](/huzhicheng/l...),该代码展示了如何获取和使用MBean,包括操作系统、内存、线程和垃圾收集器等关键监控指标。

       请注意,代码需要根据你的操作系统和JVM版本进行编译和运行,因为它可能因平台差异而有所不同。

       最后,如果你对JMX还有任何疑问,欢迎在公众号「古时的风筝」中留言交流。

copyright © 2016 powered by 皮皮网   sitemap