基于 Spring Cloud 2024.x(JDK 17)的微服务治理演示平台,覆盖服务注册/配置、API 网关、限流熔断、链路追踪、可观测与一键压测,并提供 Web 控制台完成可视化部署。
架构与原理见 docs/ARCHITECTURE.md;部署见 docs/DEPLOYMENT.md;运维见 docs/OPERATIONS.md;控制台用法见 docs/WEB_CONSOLE.md。
| 要求 | 版本/说明 |
|---|---|
| JDK | 17(见下) |
| Maven | 3.9+ |
| Docker | 24+ |
| k3d | 5.x(本地 K8s) |
JDK 17(必须):项目字节码目标为 Java 17,且依赖 Lombok 1.18.34(不支持 JDK 21+),必须用 JDK 17 构建。构建由 .mvn/toolchains.xml(<jdkHome>)+ .mvn/maven.config + maven-toolchains-plugin 锁死,换机器只需改 jdkHome 指向本机 JDK 17。
- 构建并启动控制台容器:
docker compose -f deploy/web-console/docker-compose.yaml up -d - 浏览器打开
http://localhost:8787 - 集群页 → 点【启动集群】→ 实时看日志 → 就绪
- 访问页 → 一键 port-forward → 打开网关 / Headlamp
进阶与无控制台的部署方式见 docs/DEPLOYMENT.md,控制台四面板用法见 docs/WEB_CONSOLE.md。
- 多形态部署:K8s(k3d) / Docker Compose / 镜像(统一
build-images.sh) - 一键编排:
start-services.sh顺序起中间件→业务→边缘→可观测 - 防护治理:网关层 Sentinel 限流、Resilience4j 熔断降级、JWT 鉴权
- 可观测:Prometheus + Grafana + Loki + Zipkin + Headlamp
- 压测:k6 梯度加压,结果自动汇总
- 优雅停机:反向依赖序停机、Spring
spring.lifecycle.timeout-per-shutdown-phase
| 文档 | 看什么 |
|---|---|
| docs/ARCHITECTURE.md | 模块划分、技术栈、调用链、设计约束 |
| docs/WEB_CONSOLE.md | 控制台四大面板用法、启动、排障 |
| docs/DEPLOYMENT.md | 环境准备、三种部署形态、构建镜像、访问入口、定制 |
| docs/OPERATIONS.md | 监控日志、扩缩容、治理运行时、压测、优雅停机、排障、容灾 |