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