Spring Cloud 端点使用指南(spring cloud client)
Spring Cloud 端点主要用于监控、管理和维护微服务架构中的各个组件。以下是Spring Cloud中常见的端点分类及其详细说明:
1. Spring Boot Actuator 基础端点
Spring Boot Actuator 提供应用监控和管理的基础端点,默认路径为 /actuator(Spring Boot 2.x+)。常用端点包括:
- /health:应用健康状态(如数据库、磁盘检查)。
- /info:应用基本信息(需在配置中自定义)。
- /metrics:应用性能指标(内存、线程、请求等)。
- /env:当前环境变量与配置属性。
- /beans:Spring 容器中所有Bean的列表。
- /mappings:所有HTTP请求映射(如Controller路径)。
- /loggers:日志配置查看与动态调整。
2. Spring Cloud 扩展端点
配置管理
- /actuator/refresh(POST):刷新单个实例的配置(需配合@RefreshScope使用)。
- /actuator/busrefresh(POST):通过消息总线(如RabbitMQ/Kafka)刷新所有实例配置(需Spring Cloud Bus)。
服务发现与注册(Eureka)
- Eureka Server 端点:
O /eureka/apps:查看所有注册的服务实例。
O /eureka/apps/{serviceId}:查看指定服务的实例列表。
- Eureka Client 端点:
O
/actuator/service-registry:管理服务注册状态(如手动下线)。
配置服务器(Config Server)
- /{application}/{profile}[/{label}]:获取指定应用、环境、分支的配置(如/app/dev/master)。
- /{application}-{profile}.yml:直接获取YAML格式配置。
- /encrypt 与 /decrypt(POST):加密/解密敏感配置(需配置密钥)。
路由网关(Spring Cloud Gateway/Zuul)
- Spring Cloud Gateway:
O /actuator/gateway/routes:查看已定义的路由规则。
O /actuator/gateway/refresh(POST):动态刷新路由配置。
- Zuul:
O /actuator/routes:查看Zuul代理的路由映射。
熔断与监控(Hystrix)
- /actuator/hystrix.stream:实时推送Hystrix监控数据流。
- Hystrix Dashboard:通过图形界面监控熔断状态(需独立部署)。
分布式跟踪(Sleuth/Zipkin)
- /actuator/httptrace:查看最近的HTTP请求跟踪信息(需配置HttpTraceRepository)。
- Zipkin Server:默认提供**/zipkin/**端点用于追踪数据收集与查询。
消息总线(Spring Cloud Bus)
- /actuator/busrefresh:触发配置刷新事件广播。
- /actuator/bus-env:修改环境变量并广播到所有实例。
3. 安全配置
- 启用安全:通过Spring Security保护敏感端点:
yaml
management:
endpoints:
web:
exposure:
include: "health,info" # 仅暴露必要端点
endpoint:
health:
show-details: never
spring:
security:
user:
name: admin
password: secret
- 自定义路径:可修改默认端点路径:
yaml
management:
endpoints:
web:
base-path: /manage
4. 版本注意事项
- Spring Boot 1.x:Actuator端点直接位于根路径(如/health)。
- Spring Boot 2.x+:端点统一在/actuator下,且默认仅暴露health和info。
- Spring Cloud 2020.x+:部分端点(如Hystrix)可能需额外依赖或已弃用(推荐使用Resilience4j)。
示例:常用操作
- 刷新配置:
bash
curl -X POST http://localhost:8080/actuator/refresh
- 查看Eureka注册服务:
bash
curl http://eureka-server:8761/eureka/apps
- 动态更新路由(Gateway):
bash
curl -X POST http://localhost:8080/actuator/gateway/refresh
通过合理使用这些端点,可以实现微服务的动态配置、健康监控、故障排查与系统维护,是构建健壮云原生应用的关键工具。建议结合具体组件和版本参考官方文档进行配置。