SaaS化应用开发指南
目录
SaaS专题
SaaS应用开发指导
SaaS应用Samples
SaaS多租路由插件
不同架构的服务SaaS化方案
单体架构
微服务架构
k8s架构(CCE)
Istio架构
独享资源模式的SaaS服务开发
独享资源模式的资源准备
共享资源模式的SaaS服务开发
租户识别
租户路由
共享资源池模式的资源分配
租户个性化需求
个性化配置
元数据驱动设计
租户业务定制
租户流程定制
租户管理
租户账号系统
租户注册
SaaS系统运维
部署
CICD
弹性伸缩
服务发布
系统可观测性
租户日志数据收集与分析
SaaS系统运营
SaaS服务计费策略
SaaS运营数据分析
SaaS专题
SaaS应用开发指导
https://support.developer.huaweicloud.com/doc/zh-cn_topic_0000001271256348-0000001271256348
SaaS应用Samples
https://gitee.com/HuaweiCloudDeveloper/saas-housekeeper
SaaS多租路由插件
https://gitee.com/HuaweiCloudDeveloper/saas-tenant-router-starter
不同架构的服务SaaS化方案
单体架构
《请持续关注》
微服务架构
《请持续关注》
k8s架构(CCE)
《请持续关注》
Istio架构
《请持续关注》
独享资源模式的SaaS服务开发
独享资源模式的SaaS服务在华为云上可以几种实现模式,例如账号隔离,vpc隔离,子网隔离等,这些在应用开发上没什么特别需要注意的地方,聚焦点在资源的准备与快速的部署
独享资源模式的资源准备
《请持续关注》
共享资源模式的SaaS服务开发
租户识别
服务要识别请求对应的租户,常用有两种方式,一是根据域名,二是租户名
租户路由
根据租户隔离方式的不同,租户路由的策略也不一样,在我们应用开发指导中有详细的讲解
housekeeper项目采用域名识别,此项目使用了api网关,在用户请求进入api网关时可以识别到用户请求的域名,把租户独占的domain赋予请求头
而在微服务中会获取请求头内容,识别租户
租户标识的存储,每个请求的租户标识使用HystrixRequestVariableDefault存储,可参见:
租户路由可参见我们依赖的开源插件
https://gitee.com/HuaweiCloudDeveloper/saas-tenant-router-starter
微服务调用其他服务时,上下文需要携带租户标识
例如服务间请求,通过拦截器在openfeign的请求头中加入租户标识:
例如数据库请求,切换数据库源及schema:
共享资源池模式的资源分配
《请持续关注》
租户个性化需求
个性化配置
租户会希望在自己的应用上有企业个性化的展现,需要允许租户配置自己的企业元素,例如logo,页面风格等
例如housekeeper服务中租户可配置自己租户服务的页面风格
元数据驱动设计
租户的元数据设计可以理解为把部分实体的结构和内容做成可配置化,例如housekeeper项目中,服务发布的服务可自行定义服务各种维度的规格和含义
租户业务定制
《请持续关注》
租户流程定制
《请持续关注》
租户管理
租户账号系统
SaaS账号从作用域的维度可分两种方式
一种是系统内通用,一种是租户域内通用,具体参见SaaS应用开发文档
housekeeper项目采用租户域的账号系统,可参见项目中jwt的生成:
租户注册
租户可以通过SaaS管理服务登记自己的信息,通过业务操作获得租户权利,由SaaS admin角色负责租户账号的开通。
SaaS系统运维
部署
《请持续关注》
CICD
《请持续关注》
弹性伸缩
《请持续关注》
服务发布
《请持续关注》
系统可观测性
租户日志数据收集与分析
日志数据需要获取租户的标识
参看我们租户路由的设计中,租户标识存放在sfl4j框架的MDC中,只需在日志输出格式中引用即可
SaaS系统运营
SaaS服务计费策略
SaaS应用一般采用出租方式收费,而不是像传统软件那样一次性买断。那么对于SaaS厂家而言,针对不同的产品业务、客户群体、市场定位和商业策略,制定出最合适的计费策略则显示尤为重要。
https://support.developer.huaweicloud.com/doc/zh-cn_topic_0000001321576393-0000001321576393
SaaS运营数据分析
- 点赞
- 收藏
- 关注作者
评论(0)