基于SpringCloudAlibaba服务平台设计(三)平台设计
此章节介绍设计的平台需求与架构设计
平台需求
20年我开始搭建这个平台的时候,公司老总要求是搭建一个公司公用服务的云平台,可以让公司所有产品线所有项目都可以使用。
当时第一反应就是这玩意儿跟平时我们使用的阿里云、腾讯云和华为云之类的Saas平台其实一摸一样,因为公司所有项目都是云项目,都在公网上,不存在内网环境,所以这就是个和第三方Saas平台一样的服务平台,需要开设应用、接口认证等机制。
然后我们开始思考这个平台需要哪些功能
服务类型
公司要求为所有项目提供公用的服务,这个服务包括什么呢,他至少应该包括两种类型:
- 接口服务,提供后端的接口调用
- 页面服务,可以让客户端直接跳转到服务平台,直接使用服务平台的页面,而不需要各个项目自行设计
这也进一步决定了认证的方式
认证
接口服务
接口服务从后端发起,而由于不经过用户,所以一种权限范围的认证凭证可以实现一定时间的反复使用而不需要考虑凭证泄露(由于客户端的失误导致的泄露这里不考虑),所以可以使用先行用认证接口获取凭证,之后携带凭证访问接口的方式
页面服务
页面服务的特殊性是,只要你使用凭证访问页面服务,则这个凭证必定会泄露到客户端,所以凭证不能反复使用,或者凭证只能在特定场景下使用,具体的设计会在后续章节介绍
认证传递
子服务怎么知道传递过来的请求一定是通过了认证的呢,又怎么获取到认证的信息(如应用的id)的呢,这就需要从两种方式中选择
- 网关认证后,将请求路由到子服务,子服务携

本文介绍了基于SpringCloudAlibaba构建的云服务平台的需求和架构设计,涉及服务类型(接口服务、页面服务)、认证机制(接口服务、页面服务的认证策略)、管理端功能、异步回调、报警机制以及日志收集。采用的组件包括SpringCloudGateway、Security、Nacos、Zipkin等,并规划了网关、安全服务、日志服务等组件和中间件的部署。
最低0.47元/天 解锁文章
351





