SpringCloud 微服务综合实例。分布式配置中心,服务发现&负载均衡,链路断路器,API网关,OAuth2认证授权,分布式追踪,ELK日志中心,Ansible/Docker持续交付等最佳实践。
Last updated Jul 8, 2026
393
Stars
211
Forks
1
Issues
0
Stars/day
Attention Score
54
Topics
Language breakdown
Java 66.1%
Dockerfile 12.2%
PLpgSQL 8.9%
Shell 4.9%
FreeMarker 4.7%
Jinja 3.3%
▸ Files
click to expand
README
xxproject
SpringCloud 微服务综合实例。分布式配置中心,服务发现&负载均衡,链路断路器,API网关,OAuth2认证授权,分布式追踪,ELK日志中心,Docker持续交付等最佳实践。Features:
- [x] 分布式配置中心, 通过消息总线更新配置
- [x] Eureka实现服务端服务注册/服务发现/负载均衡
- [x] Feign实现客户端负载均衡
- [x] Hystrix实现链路断路器
- [x] Zuul实现API网关
- [x] Zipkin&Sleuth实现分布式追踪
- [ ] 消息驱动
- [ ] 分布式锁&信号量
- [ ] 统一异常处理
- [ ] 统一HTTP处理
- [ ] 国际化
- [x] OAuth2.0与安全
- [ ] API文档与测试
- [ ] 批处理
- [ ] 分布式任务调度
- [ ] 分布式ID中心
- [x] 日志收集
- [ ] 同步与异步调用
- [ ] RPC调用
- [ ] 其他最佳实践
Overview:
- 系统全景图:
- 技术实现:
Compile:
- 编译构建为Jar包:
mvn clean package - 编译构建为Docker镜像:
mvn clean package docker:build, 镜像列表:
Deploy:
- Jar方式部署:
可参考READM步骤 - Docker方式部署:
source bootstrap.rc && docker-compose up -d, 检查以下17个容器正常运行(容器数量较多,机器内存最好在8G以上,否则可能导致部分容器启动失败):
- 部署完成, 访问Eureka: http://localhost:8001/, 查看注册的服务实例如下:
Enjoy:
- 访问OAuth Server:
(admin/passw0rd)
- 同意OAuth授权, 如下:
- 页面跳转到: http://example.com/?code=5J4vJ8&state=97536,
- 通过CODE获取TOKEN:
CODE=5J4vJ8
curl acme:acmesecret@localhost:9999/uaa/oauth/token \
-d granttype=authorizationcode \
-d client_id=acme \
-d redirect_uri=http://example.com \
-d code=$CODE -s | jq .
TOKEN=bd34faf8-dcd0-4aed-a903-c8a90cb7a731
- 以上获取TOKEN步骤截图如下:
- 访问API服务: http://localhost:5555/api/product-api-service/product-api-composite,
- 访问追踪系统: http://localhost:7777/zipkin/,
- 调用链分析如下:
- 服务依赖拓扑图如下:
- 访问链路保护系统:
- 访问ELK日志系统: http://localhost:5601, 如下:
- 使用jvisualvm监控JVM实时性能指标,
- 线程视角性能分析如下:

🔗 More in this category