企业级私教工作室管理系统后端工程,基于 Java 17 + Spring Boot 3 + DDD 分层设计实现。仓库同时支持两种运行模式:
- 单体模式:
ptstudio-start一体化启动,适合本地开发和功能验证。 - 微服务模式:
gateway + biz-service + ops-service,配合 Nacos/Sentinel 做服务治理与流控演练。
- Java 17
- Maven(多模块)
- Spring Boot 3.3.8
- Spring Cloud 2023.0.5
- Spring Cloud Alibaba 2023.0.3.3(Nacos / Sentinel)
- MyBatis-Plus 3.5.7
- MySQL 8.4 + Flyway
- Redis 7.4
- RocketMQ 5.3.3
- Elasticsearch 8.13.4 + Kibana
- SpringDoc OpenAPI
ptstudio-ddd4j/
├── ptstudio-bom # 版本管理 BOM
├── ptstudio-dependencies # 公共依赖聚合
├── ptstudio-common # 跨域公共能力
├── ptstudio-core # 核心领域(adapter/app/domain/infrastructure)
├── ptstudio-start # 单体启动入口(默认端口 8080)
├── ptstudio-cloud-gateway # 微服务网关(默认端口 8080)
├── ptstudio-service-biz # 业务服务(默认端口 8081)
├── ptstudio-service-ops # 运营服务(默认端口 8082)
├── docs # 设计/运维/压测文档
└── scripts # 启停、冒烟、巡检、演练脚本
- JDK 17
- Maven 3.9+
- Docker / Docker Compose
默认使用 test profile(H2 内存库,Flyway 关闭):
mvn -pl ptstudio-start spring-boot:run服务启动后可验证:
- 健康检查:
http://127.0.0.1:8080/actuator/health - OpenAPI:
http://127.0.0.1:8080/v3/api-docs - Swagger UI:
http://127.0.0.1:8080/swagger-ui/index.html
执行接口冒烟:
./scripts/smoke_api.shdocker compose up -d mysql
SPRING_PROFILES_ACTIVE=mysql mvn -pl ptstudio-start spring-boot:run
./scripts/mysql_smoke.shdocker compose up -d mysql redis rocketmq-namesrv rocketmq-broker rocketmq-dashboard elasticsearch kibana nacos sentinel-dashboard
SPRING_PROFILES_ACTIVE=mysql,redis,mq,es mvn -pl ptstudio-start spring-boot:run
./scripts/middleware_smoke.sh一键启动(Nacos + gateway + biz + ops):
./scripts/microservice_cluster_up.sh冒烟验证:
./scripts/microservice_cluster_smoke.sh停止集群:
./scripts/microservice_cluster_down.sh网关路由规则:
/api/ops/**->ptstudio-ops-service/api/**、/v3/api-docs/**、/swagger-ui/**->ptstudio-biz-service
scripts/observability_smoke.sh:可观测性冒烟(metrics / prometheus / dashboard)scripts/release_precheck.sh:发布前检查scripts/enterprise_readiness_check.sh:企业级一键巡检scripts/security_baseline_check.sh:安全基线巡检scripts/nacos_sentinel_flow_rule.sh:下发 Sentinel 流控规则scripts/perf_gateway_baseline_and_limited.sh:网关限流前后压测报告scripts/failover_drill_redis_sentinel.sh:Redis Sentinel 故障演练scripts/failover_drill_es_cluster.sh:Elasticsearch 集群故障演练scripts/failover_drill_nacos_cluster.sh:Nacos 集群故障演练scripts/failover_drill_rocketmq_namesrv.sh:RocketMQ NameServer 故障演练
- 数据库:
DB_HOSTDB_PORTDB_NAMEDB_USERDB_PASSWORD - Redis:
REDIS_HOSTREDIS_PORTREDIS_PASSWORD - RocketMQ:
ROCKETMQ_NAME_SERVER - ES:
ES_HOSTES_PORTES_SCHEME - 服务治理:
NACOS_SERVER_ADDRSENTINEL_DASHBOARDSENTINEL_TRANSPORT_PORT - 租户上下文:
TENANT_IDSTORE_ID
全部测试:
mvn test分层 CI 组:
mvn test -Pci-smoke
mvn test -Pci-security
mvn test -Pci-regression- 微服务拆分说明:
docs/microservice-cluster.md - 本地中间件:
docs/local-middleware.md - 本地 MySQL:
docs/local-mysql.md - 中间件集群:
docs/local-middleware-cluster.md - 生产观测与告警基线:
docs/生产观测与告警基线_v1.md - 发布灰度与回滚:
docs/发布灰度与回滚Runbook_v1.md - 安全基线:
docs/安全基线与最小信任模型_v1.md