当前位置:网站首页>SaaS化应用开发指南
SaaS化应用开发指南
2022-06-22 16:14:00 【华为云】
目录
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运营数据分析
边栏推荐
- Configuration of development environment for JSP learning
- The win10 desktop icon disappears and the toolbar turns black
- clickhouse 21.x 集群四分片一副本部署
- . NETCORE enables image scaling and cropping - based on imagesharp
- mysql指令执行sql文件
- Mysql-5.6.21-centos6.5 source code installation configuration
- Social responsibility: GAC Honda advocates children's road traffic safety in "dream children's travel"
- 视频直播系统源码,顶部标题栏的隐藏和标题修改
- 网传学习通1.7亿密码泄露!有什么补救措施?
- 有同学问PHP要学什么框架?
猜你喜欢

Figure operation flow of HAMA BSP Model
Database mysql master-slave scheme

STM32系列(HAL库)——F103C8T6硬件SPI点亮带字库OLED屏

It may be the most comprehensive Matplotlib visualization tutorial in the whole network

抢先报名丨新一代 HTAP 数据库如何在云上重塑?TiDB V6 线上发布会即将揭晓!

新手必会的静态站点生成器——Gridsome
![[face recognition] matlab simulation of face recognition based on googlenet deep learning network](/img/e8/050ca85542ccbf1402b84c5dbf6f5e.png)
[face recognition] matlab simulation of face recognition based on googlenet deep learning network

System throughput, TPS (QPS), user concurrency, performance test concepts and formulas

来厦门了!线上交流限额免费报名中

Docker之MySQL主从连接提示:Communications link failure
随机推荐
What is flush software? Is it safe to open a mobile account?
无心剑中文随感《探求真谛》
CMB model 23 ukey is not recognized on win7
Quartus prime 18.0 software installation package and installation tutorial
QT notes qmap user defined key
The principle of locality in big talk
[recruitment] [Beijing Zhongguancun / remote] [tensorbase][open source data warehouse] and other people do one thing
MYSQL_ ERRNO : 1205 MESSAGE :Lock wait timeout exceeded; try restarting transacti
MySQL string field to floating point field
Configuration of development environment for JSP learning
股票在哪家的平台买比较安全呢?
快速掌握 ASP.NET 身份认证框架 Identity - 登录与登出
.NET 发布和支持计划介绍
Blazor University (31) form - Validation
如何做好研发效能度量及指标选取
clickhouse 21.x 集群四分片一副本部署
Mqtt of NLog custom target
On the closure function of Scala
当线上线下的融合加速,当信息对接渠道的多样化,传统意义上的中心将没有必要
DAP事实表加工汇总功能应用说明