Spring Cloud(5)---基于 Spring Cloud 完整的微服务架构实战
基于 Spring Cloud 完整的微服务架构实战
技术栈
Spring boot - 微服务的入门级微框架,用来简化 Spring 应用的初始搭建以及开发过程。
Eureka - 云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
Spring Cloud Config - 配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git 以及 Subversion。
Hystrix - 熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
Zuul - Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。
Spring Cloud Bus - 事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与 Spring Cloud Config 联合实现热部署。
Spring Cloud Sleuth - 日志收集工具包,封装了 Dapper 和 log-based 追踪以及 Zipkin 和 HTrace 操作,为 SpringCloud 应用实现了一种分布式追踪解决方案。
Ribbon - 提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。
Turbine - Turbine 是聚合服务器发送事件流数据的一个工具,用来监控集群下 hystrix 的 metrics 情况。
Spring Cloud Stream - Spring 数据流操作开发包,封装了与 Redis、Rabbit、Kafka 等发送接收消息。
Feign - Feign 是一种声明式、模板化的 HTTP 客户端。
Spring Cloud OAuth2 - 基于 Spring Security 和 OAuth2 的安全工具包,为你的应用程序添加安全控制。
应用架构
该项目包含 8 个服务
registry - 服务注册与发现
config - 外部配置
monitor - 监控
zipkin - 分布式跟踪
gateway - 代理所有微服务的接口网关
auth-service - OAuth2 认证服务
svca-service - 业务服务A
svcb-service - 业务服务B
体系架构
应用组件
启动项目
使用 Docker 快速启动
配置 Docker 环境
mvn clean package 打包项目及 Docker 镜像
在项目根目录下执行 docker-compose up -d 启动所有项目
本地手动启动
配置 rabbitmq
修改 hosts 将主机名指向到本地
127.0.0.1 registry config monitor rabbitmq auth-service
或者修改各服务配置文件中的相应主机名为本地 ip
启动 registry、config、monitor、zipkin
启动 gateway、auth-service、svca-service、svcb-service
项目预览
注册中心
访问 http://localhost:8761/ 默认账号 user,密码 password
监控
访问 http://localhost:8040/ 默认账号 admin,密码 admin
控制面板
应用注册历史
Turbine Hystrix面板
应用信息、健康状况、垃圾回收等详情
计数器
查看和修改环境变量
管理 Logback 日志级别
查看并使用 JMX
查看线程
认证历史
查看 Http 请求轨迹
Hystrix 面板
链路跟踪
访问 http://localhost:9411/ 默认账号 admin,密码 admin
控制面板
链路跟踪明细
服务依赖关系
RabbitMQ 监控
Docker 启动访问 http://localhost:15673/ 默认账号 guest,密码 guest(本地 rabbit 管理系统默认端口15672)
接口测试
1.获取 Token
curl -X POST -vu client:secret http://localhost:8060/ uaa/oauth/token -H "Accept: application/json" -d "password=password&username=anil&grant_type=password &scope=read%20write"
返回如下格式数据:
{"access_token": "eac56504-c4f0-4706-b72e-3dc3acdf45e9","token_type": "bearer","refresh_token": "da1007dc-683c-4309-965d-370b15aa4aeb","expires_in": 3599,"scope": "read write"}
2.使用 access token 访问 service a 接口
curl -i -H "Authorization: Bearer eac56504-c4f0-4706-b72e-3dc3acdf45e9" http://localhost:8060/svca
返回如下数据:
svca-service (172.18.0.8:8080)===>name:zhangxdsvcb-service (172.18.0.2:8070)===>Say Hello 3.使用 access token 访问 service b 接口 curl -i -H "Authorization: Bearer eac56504-c4f0-4706-b72e-3dc3acdf45e9" http://localhost:8060/svcb
返回如下数据:
svcb-service (172.18.0.2:8070)===>Say Hello 4.使用 refresh token 刷新 tokencurl -X POST -vu client:secret http://localhost:8060/uaa/oauth/token -H "Accept: application/json" -d "grant_type=refresh_token&refresh_token=da1007dc-683c-4309-965d-370b15aa4aeb"
返回更新后的 Token:
{"access_token": "63ff57ce-f140-482e-ba7e-b6f29df35c88","token_type": "bearer","refresh_token": "da1007dc-683c-4309-965d-370b15aa4aeb","expires_in": 3599,"scope": "read write"}
5.刷新配置
curl -X POST -vu user:password http://localhost:8888/bus/refresh
Spring Cloud(5)---基于 Spring Cloud 完整的微服务架构实战相关推荐
- 基于 Spring Cloud 完整的微服务架构实战
本项目是一个基于 Spring Boot.Spring Cloud.Spring Oauth2 和 Spring Cloud Netflix 等框架构建的微服务项目. @作者:Sheldon地址:ht ...
- 基于 Spring Cloud + Vue.js完整的微服务架构实战
介绍 本项目是一个基于 Spring Boot.Spring Cloud.Spring Oauth2 和 Spring Cloud Netflix 等框架构建的微服务项目 前端框架为Vue.js. E ...
- 微服务架构实战第一节 Spring Cloud介绍
开篇词 为什么你要学习微服务架构? 你好,我是萧然,长期从事分布式系统的构建和优化工作,负责过大型电商以及健康类系统的设计和开发,曾带领团队完成大规模微服务架构建设,在基于 Spring Cloud ...
- 【福利】赠书:Spring Cloud与Docker微服务架构实战(第2版)
本次福利送出好友周立的第二版书籍! 正在关注和使用Spring Cloud的朋友们不要错过哦! 内容提要 <Spring Cloud与Docker微服务架构实战(第2版)>基于Spring ...
- 《Spring Cloud微服务架构实战派》PDF样章
内容摘要: 本书针对Spring Cloud Greenwich.SR2版本+Spring Boot的2.1.x.RELEASE版本.在编写过程中,不仅考虑到在企业任职所需的技能,还考虑到求职面试时可 ...
- 疯狂Spring Cloud微服务架构实战
网站 更多书籍点击进入>> CiCi岛 下载 电子版仅供预览及学习交流使用,下载后请24小时内删除,支持正版,喜欢的请购买正版书籍 电子书下载(皮皮云盘-点击"普通下载" ...
- Spring Cloud与Docker微服务架构实战 PDF版 内含目录
Spring Cloud与Docker微服务架构实战 目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...
- 防止内卷和被潜规则,Spring Cloud Alibaba微服务架构实战派(上下册)|35岁程序员那些事
目录 1 写书缘由 2 本书上册核心内容 2.1 Spring Cloud Alibaba基础实战 2.1.1 主要内容 2.1.2 MyBatis-Plus实现多租户架构的核心原理 2.2 分布式服 ...
- 《Spring Cloud与Docker微服务架构实战》配套代码
不才写了本使用Spring Cloud玩转微服务架构的书,书名是<Spring Cloud与Docker微服务架构实战> - 周立,已于2017-01-12交稿.不少朋友想先看看源码,现将 ...
最新文章
- RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别
- 前端DevOps之PageSpeed Insights
- matlab FAQ
- 深度系统安装移动硬盘启动_深度系统如何安装_电脑知识
- python中class什么意思_【转载】在python的class中的,self到底是什么?
- C/C++的memset函数的说明和使用
- mysql insert on update_我可以始终使用INSERT…ON DUPLICATE UPDATE进行简单的更新/插入吗?...
- linux清理磁盘空间_Ubuntu上释放磁盘空间的几种简单方法
- 记一次守护日志导致硬盘空间告警问题
- Maven安装和配置详细教程
- BIOS设置中的启动引导模式以及SATA的三种模式
- 永久免费的域名注册有吗?免费的域名注册在哪个平台?
- Deep Freeze冰点还原精灵破解|对Persi0.sys文件的思考
- 【蓝桥杯国赛真题08】python约分 蓝桥杯青少年组python编程 蓝桥杯国赛真题解析
- 飞思卡尔Kinetis系列单片机被锁住后,怎么解锁
- GitHub 的设置代码上传
- overleaf 插入图片_latex中插入图片
- 【linux进阶4】apache的服务使用(图文巨详细解释apache的正向和反向代理)
- 从本质矩阵恢复相机矩阵
- 【大赛八卦】2020国际初中生信息学竞赛中国代表队蝉联团体总分第一和金牌人数第一