介绍
我和极客时间合作的课程《微服务架构和实践160讲》已经于2018年底完成,最后一个模块是综合案例分析,通过一个简单的模拟业务案例,将之前课程的各个组件集成起来,包括:
- 统一授权认证中心Gravitee OAuth2
- 集中配置Apollo
- 基础服务Zuul/Eureka/Ribbon/Hystrix
- 监控反馈CAT/Prometheus
这些组件既包括Spring Cloud技术栈的部分组件(Zuul/Eureka/Ribbon/Hystrix),也包含国内一线互联网公司落地的一些组件(如大众点评CAT和携程Apollo),也包括我自己为课程开发的组件Gravitee OAuth2(非生产级),所以本案例可以称为是一个中国式微服务技术栈综合演示案例,可供学习参考。
另外,课程开播以来陆续收到一些学员的提问,比较典型的有:
- 如何使用Apollo集中管理Spring应用的配置?
- 网关集中验证令牌怎么做?
- 基于OAuth2的注册登录和API调用具体如何实现?
- CAT非侵入式埋点怎么做,如何尽量减少业务研发直接使用CAT进行埋点?
在课程中,通过案例演示,我也会统一回复这些问题。
案例背景
我本人并不打算完全自己开发一个演示案例,而是会重用比较流行的开源项目,在它基础上做定制扩展,所以本案例是基于github上的一个开源项目PiggyMetrics[附录1]改造而来。PiggyMetrics是一个模拟的个人记账理财的应用,原作者称其为一个端到端的微服务PoC(Proof of Concept),也就是说他开发这个是为了验证微服务架构和Spring Cloud技术栈。PiggyMetrics目前在github上有超过4.6k星,是学习微服务架构和Spring Cloud技术栈的一个不错参考。
PiggMetrics采用前后分离架构,前端是单页SPA,后端采用基于Spring Cloud技术栈的微服务架构。