当前位置:网站首页>SaaS application development guide
SaaS application development guide
2022-06-22 17:56:00 【Hua Weiyun】
Catalog
SaaS project
SaaS Application development guidance
SaaS application Samples
SaaS Multi tenancy routing plug-in
Services with different architectures SaaS The solution
Monomer architecture
Microservice architecture
k8s framework (CCE)
Istio framework
Exclusive resource mode SaaS Service development
Resource preparation of exclusive resource mode
Shared resource mode SaaS Service development
Tenant identification
Tenant routing
Resource allocation of shared resource pool mode
Tenants' personalized needs
Personalized configuration
Metadata driven design
Tenant business customization
Tenant process customization
Tenant management
Tenant account system
Tenant registration
SaaS The system operational
Deploy
CICD
Stretch and stretch
Service release
System observability
Tenant log data collection and analysis
SaaS System operation
SaaS Service billing policy
SaaS Operational data analysis
SaaS project
SaaS Application development guidance
https://support.developer.huaweicloud.com/doc/zh-cn_topic_0000001271256348-0000001271256348
SaaS application Samples
https://gitee.com/HuaweiCloudDeveloper/saas-housekeeper
SaaS Multi tenancy routing plug-in
https://gitee.com/HuaweiCloudDeveloper/saas-tenant-router-starter
Services with different architectures SaaS The solution
Monomer architecture
《 Stay tuned 》
Microservice architecture
《 Stay tuned 》
k8s framework (CCE)
《 Stay tuned 》
Istio framework
《 Stay tuned 》
Exclusive resource mode SaaS Service development
Exclusive resource mode SaaS Services can be implemented in several modes on Huawei cloud , For example, account isolation ,vpc Isolation , Subnet isolation, etc , There is nothing special to pay attention to in application development , Focus on resource preparation and rapid deployment
Resource preparation of exclusive resource mode
《 Stay tuned 》
Shared resource mode SaaS Service development
Tenant identification
The service should identify the tenant corresponding to the request , There are usually two ways , First, according to the domain name , Second, the name of the tenant
Tenant routing
According to the different isolation methods of tenants , The tenant routing strategy is also different , It is explained in detail in our application development guide
housekeeper The project adopts domain name identification , This project uses api gateway , When the user requests to enter api The gateway can recognize the domain name requested by the user , Exclusive to the tenant domain Assign request header
In the microservice, the request header content will be obtained , Identify tenants
Storage of tenant identity , Tenant ID usage per request HystrixRequestVariableDefault Storage , See also :
For tenant routing, please refer to the open source plug-ins we rely on
https://gitee.com/HuaweiCloudDeveloper/saas-tenant-router-starter
When a microservice invokes other services , The context needs to carry the tenant id
For example, inter service requests , Through the Interceptor at openfeign Add the tenant ID in the request header of :
For example, database requests , Switch database source and schema:
Resource allocation of shared resource pool mode
《 Stay tuned 》
Tenants' personalized needs
Personalized configuration
Tenants will want to have an enterprise personalized display on their own applications , You need to allow tenants to configure their own enterprise elements , for example logo, Page style, etc
for example housekeeper In the service, the tenant can configure the page style of its own tenant service
Metadata driven design
The metadata design of tenants can be understood as making the structure and content of some entities configurable , for example housekeeper In the project , The service published by the service can define the specifications and meanings of various dimensions of the service
Tenant business customization
《 Stay tuned 》
Tenant process customization
《 Stay tuned 》
Tenant management
Tenant account system
SaaS Accounts can be divided into two ways from the scope dimension
One is common in the system , One is common in the tenant domain , Specific see SaaS Application development documentation
housekeeper The project adopts the account system of the tenant domain , See the project jwt Generation :
Tenant registration
Tenants can use SaaS The management service registers its own information , Obtain tenant rights through business operations , from SaaS admin The role is responsible for opening the tenant account .
SaaS The system operational
Deploy
《 Stay tuned 》
CICD
《 Stay tuned 》
Stretch and stretch
《 Stay tuned 》
Service release
《 Stay tuned 》
System observability
Tenant log data collection and analysis
The log data needs to obtain the identity of the tenant
See our tenant routing design , Tenant identification is stored in sfl4j Framework of the MDC in , Just reference it in the log output format
SaaS System operation
SaaS Service billing policy
SaaS The application is generally charged by renting , Instead of a one-time buyout like traditional software . So for SaaS For manufacturers , For different product businesses 、 Customer base 、 Market positioning and business strategy , Developing the most appropriate billing strategy is particularly important .
https://support.developer.huaweicloud.com/doc/zh-cn_topic_0000001321576393-0000001321576393
SaaS Operational data analysis
边栏推荐
- Docker之MySQL主从连接提示:Communications link failure
- Blazor University (30)表单 —— 从 InputBase 派生
- ##Kibana+ELK集群日志处理
- Activity启动流程梳理
- [cursor nesting] nesting of MySQL stored procedure cursors
- client-go gin的简单整合十-Update
- Parallel integrates with moonbeam through xcm, bringing para and defi use cases into moonbeam ecology
- 同花顺软件是什么?网上开户安全么?
- JSP learning (I) -- overview of JSP
- Xshell 7(SSH远程终端工具) v7.0.0109 官方中文正式版(附文件+安装教程)
猜你喜欢
![[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

面试突击58:truncate、delete和drop的6大区别!

Noah fortune plans to land on the Hong Kong Stock Exchange: the performance fell sharply in the first quarter, and once stepped on the thunder "Chengxing case"

##Kibana+ELK集群日志处理

Hello Playwright:(7)模拟键盘和鼠标

math_ Angular function & inverse trigonometric function

Simple integration of client go gin -update

Quickly master asp Net authentication framework identity - login and logout

Xshell 7 (SSH Remote Terminal tool) v7.0.0109 official Chinese Version (with file + installation tutorial)
![[step 1 of advanced automated testing] 1 minute to introduce you to automated testing](/img/00/9647d552749092954a91bd84307773.png)
[step 1 of advanced automated testing] 1 minute to introduce you to automated testing
随机推荐
TypeScript(7)泛型
Mqtt of NLog custom target
推荐7款超级好用的终端工具 —— SSH+FTP
GPIO operation method of imx6ull
[face recognition] matlab simulation of face recognition based on googlenet deep learning network
面试突击58:truncate、delete和drop的6大区别!
Blazor University (30) form - derived from inputbase
Is flush easy to open an account? Is it safe to open an account online?
CMB model 23 ukey is not recognized on win7
C#-Linq源码解析之DefaultIfEmpty
How to solve the problem of database?
云端极简部署Svelte3聊天室
Quickly master asp Net authentication framework identity - login and logout
imx6ull的GPIO操作方法
诺亚财富拟登陆港交所:第一季度业绩大幅下滑,曾踩雷“承兴案”
Missing value handling
来厦门了!线上交流限额免费报名中
##Kibana+ELK集群日志处理
Using stream API instead of SQL
Docker之MySQL主从连接提示:Communications link failure