SOFADashboard 介绍
SOFADashboard 致力于对 SOFA 框架中组件进行统一管理,包括服务治理、SOFAArk 管控等。
SOFADashboard 本身所用技术栈均基于开源社区产品来开发构建,包括:Ant Design Pro、SOFABoot、Spring、MyBatis 等。
目前,SOFADashboard 中的服务治理、SOFAArk 管控等需要依赖于 Zookeeper,因此如果您需要使用 SOFADashboard 那么请确保 Zookeeper 服务可用;另外 SOFAArk 管控部署需要依赖 MySQL 进行资源数据存储,因此也需要保证 MySQL 可以正常使用。
架构简图
SOFADashboard 目前服务治理与 SOFAArk 管控都是面向 Zookeeper 来编程实现的。
SOFADashboard backend : 对应 sofa-dashboard-backend 工程,是 SOFADashboard 的服务端工程,负责与 Zookeeper 和 MySQL 进行数据交互,并且为 SOFADashboard frontend 提供 rest 接口。
SOFADashboard frontend : 对应 sofa-dashboard-frontend 工程,是 SOFADashboard 的前端工程,用于提供与用户交互的 UI 界面。
app 应用
rpc provider : SOFARPC 的服务提供方,会将服务注册到 Zookeeper 上。
rpc consumer : SOFARPC 的服务消费方,会从 Zookeeper 上订阅服务。
client : SOFADashboard 客户端,引入 sofa-dashboard-client 包即可。目前仅提供将应用的健康检查状态及端口信息注册到 Zookeeper ,后面将会演化成 SOFABoot client,上报更丰富的应用数据。
ark-biz 宿主应用: 参考 SOFAArk 。
快速开始
这个快速开始可以帮您快速在您的电脑上,下载、安装并使用 SOFADashboard。
环境准备
sofa-dashboard-backend 依赖 Java 环境来运行。请确保是在以下运行环境可以正常使用:
JDK 1.8+;下载 & 配置。 Maven 3.2.5+;下载 & 配置。 sofa-dashboard-frontend 使用了 Ant Design Pro 脚手架,前端环境请参考 Ant Design
数据库初始化
Mysql 版本:5.6+
SOFAArk 管控需要依赖 MySQL 进行资源数据存储,工程目录下有一个 SofaDashboardDB.sql 脚本文件,可以通过执行这个脚本文件进行数据库表的初始化。
Zookeeper
ZooKeeper 3.4.x and ZooKeeper 3.5.x
SOFADashboard 中的服务治理、SOFAArk 管控依赖于 Zookeeper,需要本地启动 Zookeeper 服务: ZooKeeper Document。
后端运行
> git clone https://github.com/sofastack/sofa-dashboard.git
> cd sofa-dashboard
> mvn clean package -DskipTests
> cd sofa-dashboard-backend/sofa-dashboard-web/target/
> java -jar sofa-dashboard-web-1.0.0-SNAPSHOT.jar
前端运行
sofa-dashboard-front 是 SOFADashboard 的前端代码工程,基于蚂蚁金服开源的前端框架 antd 开发。
> cd sofa-dashboard-front
> npm i
> npm run dev
参考资料
https://www.sofastack.tech/projects/sofa-lookout/overview/