代码拉取完成,页面将自动刷新
SpringCloud 微服务综合实例。分布式配置中心,服务发现&负载均衡,链路断路器,API网关,OAuth2认证授权,分布式追踪,ELK日志中心,Docker持续交付等最佳实践。
系统全景图:
技术实现:
服务 | 实现方案 | 项目 |
---|---|---|
分布式配置中心 | SpringCloud Config Server | support/config-server |
服务注册/负载均衡 | Netflix Eureka | support/eureka-server |
客户端负载均衡 | NetFlix Ribbon | -- |
链路保护与监控 | NetFlix Hystrix | support/turbine-server & support/hystrix-dashboard |
API网关 | NetFlix Zuul | support/zuul-server |
分布式追踪调用链分析 | SpringCloud Sleuth | support/zipkin-server |
OAuth2认证授权 | SpringCloud Security OAuth | support/auth-server |
基础服务 | -- | core/product-service & core/review-service |
聚合服务 | -- | composite/product-composite-service |
API服务 | -- | api/product-api-service |
日志处理 | ELK | -- |
普通方式部署 | Ansible Playbooks | -- |
容器化部署 | Docker Compose | -- |
编译构建为Jar包: mvn clean package
编译构建为Docker镜像: mvn clean package docker:build
, 镜像列表:
Jar方式部署: 可参考READM步骤
Docker方式部署: source bootstrap.rc && docker-compose up -d
, 检查以下17个容器正常运行(容器数量较多,机器内存最好在8G以上,否则可能导致部分容器启动失败):
部署完成, 访问Eureka: http://localhost:8001/, 查看注册的服务实例如下:
(admin/passw0rd)
CODE=5J4vJ8
curl acme:acmesecret@localhost:9999/uaa/oauth/token \
-d grant_type=authorization_code \
-d client_id=acme \
-d redirect_uri=http://example.com \
-d code=$CODE -s | jq .
TOKEN=bd34faf8-dcd0-4aed-a903-c8a90cb7a731
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。