竹笋

首页 » 问答 » 问答 » SpringBootAdmin20集成
TUhjnbcbe - 2023/6/21 19:29:00
白癜风正规医院 https://wapjbk.39.net/yiyuanzaixian/bjzkbdfyy/

项目最初使用Arthas主要有两个目的:

通过arthas解决实现测试环境、性能测试环境以及生产环境性能问题分析工具的问题。通过使用jad、mc、redefine功能组合实现生产环境部分节点代码热更新的能力。技术选型相关

因为公司还未能建立起较为统一的生产微服务配置以及状态管理的能力,各自系统的研发运维较为独立。现在项目使用了SpringCloud以及Eureka的框架结构,和SBA的基础支撑能力较为匹配,同时,SBA已经可以提供服务感知,日志级别配置管理,以及基于actuator的JVM、Spring容器的众多管理插件,可以满足基础使用的需求。

在调研期间,Arthas整体版本为3.4.5,提供了基于Webconsole的TunnerServer模式,通过前面链接文章已经实践,与SBA已经可以实现集成。因为项目本身没有历史包袱,在实际集成的过程中采用了SBA2.0版本以提供更多的管理功能和图形界面能力。其他优点:

webconsole界面嵌入SBA整体密码登录和网页权限管理,实现登陆SBA后才可以使用相关arthaswebconsole的功能。基于SBA客户端依赖的jolokia-core开放目标服务进程的jmx管理,通过实现jmx接口复用SBA的相关操作界面,减少前端界面开发能力的要求。整体结构

几个关键点,使用JVM内置ArthasSpringBoot插件,参考工商银行的模式建立完善的客户端下载以及修改脚本实现远程控制。内置方案工作开发量小,只需要集成相关的开源组件即可实现相关的远程使用的模式并兼顾安全。工银的方案大而全适合整体架构规划后配置专有研发团队之城。内置方案同时包含通过JMX的启停操作(基于3.4.5的SpringBoot插件无法获得相关句柄,暂时无法实现),默认不启动。通过远程JMX开通后,JVM新增相关线程8个,新增虚拟机内存30MB左右,和本文参考的SBA1.0方案相同,需要考虑在线开启前JVM内存是否可以支持。

实现效果

SBA2.0最大的方便就是提供了配置化链接外部网页的能力,同时如果网页实现在当前JVM进程,可以实现Spring-Security的本地权限管理,在生产环境下只有在登录SBA后才能使用相关集成的arthas功能。

登录界面

外嵌连接位置

JMX的使用

跳转arthaswebconsole

改造方案

参考原文-SpringBootAdmin集成Arthas实践中实现的几个步骤。

1.整体工程结构

整体工程修改自SBA开源项目的example工程,具体使用custom-ui的工程链接为:[_[spring-boot-admin-sample-custom-ui]_](

1
查看完整版本: SpringBootAdmin20集成