专栏名称: Java基基
一个苦练基本功的 Java 公众号,所以取名 Java 基基
目录
相关文章推荐
贵州高院  ·  安顺法院:法治副校长进校园 ·  昨天  
贵州高院  ·  安顺法院:法治副校长进校园 ·  昨天  
法治时报  ·  上海大学回应“考生专业课成绩为10分” ·  昨天  
桂林晚报  ·  知名高校,紧急回应! ·  昨天  
广东扫黄打非  ·  “E起提升 ... ·  3 天前  
广东扫黄打非  ·  “E起提升 ... ·  3 天前  
51好读  ›  专栏  ›  Java基基

一站式解决方案:基于 Arthas 实现服务发现和权限控制

Java基基  · 公众号  ·  · 2024-05-25 18:42

正文

👉 这是一个或许对你有用 的社群

🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入 芋道快速开发平台 知识星球。 下面是星球提供的部分资料:

👉 这是一个或许对你有用的开源项目

国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。

功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号等等功能:

  • Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本

来源:juejin.cn/post/
7281849496983994383


Arthas 是阿里巴巴开源的在线诊断工具,提供了 Dashboard 负载总览 Thread 线程占用 Stack 堆栈查看 Watch 性能观测 等功能。

  1. 服务发现: 自动获取接入的应用列表 IP 和端口,无须手动输入 AgentId
  2. 权限控制: 基于 Spring Security 实现登录控制,并支持 Nacos 动态绑定账号与服务

您可以访问 GitHub 查阅源码。

演示图例

改造前

改造后

登录控制

配置管理

arthas:
  tunnel:
    users:
      - name: admin
        password: 123456
        roles: '*' # 全部授权
      - name: user
        password: 123456
        roles:
          - eden-gateway # 特定服务授权

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

如何构建

本项目默认使用 Maven 来构建,最快的使用方式是 git clone 到本地。在项目的根目录执行 mvn package -T 4C 完成本项目的构建。

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

如何启动

IDEA 启动

本项目不依赖外部组件,可以直接启动运行。

  1. 在项目目录下运行 mvn install (如果不想运行测试,可以加上 -DskipTests 参数)。
  2. 进入 tunnel-server 目录,执行 mvn spring-boot:run 或者启动 ArthasTunnelApplication 类。运行成功的话,可以看到 Spring Boot 启动成功的界面。
  3. 进入 web-ui 目录,执行 yarn run dev:tunnel 或者 yarn run dev:ui 。运行后控制台日志输出 http://localhost:8000 地址,点击访问。

镜像启动

本项目已发布到 Docker Hub [2],请执行参考命令运行。

docker run -p 8080:8080 --name=arthas-tunnel-server -d shiyindaxiaojie/arthas-tunnel-server

如何部署

FatJar 部署

执行 mvn clean package 打包成一个 fat jar,参考如下命令启动编译后的控制台。

java -Dserver.port=8080 -jar target/arthas-tunnel-server.jar

Docker 部署

本项目使用了 Spring Boot 的镜像分层特性优化了镜像的构建效率,请确保正确安装了 Docker 工具,然后执行以下命令。

docker build -f Dockerfile-Tunnel -t arthas-tunnel-server:{tag} .

Helm 部署







请到「今天看啥」查看全文