论-多租户技术

简介: 多租户技术(multi-tenancy technology)实际是一种软件架构技术,它是在探讨与实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可以确保各用户的业务不互相影响。

多租户技术(multi-tenancy technology)实际是一种软件架构技术,它是在探讨与实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可以确保各用户的业务不互相影响。

“我在南方的艳阳里大雪纷飞,你在北方的寒夜里四季如春。”又是一个供暖季,我这个来自北方的狼在杭州的深夜里被冻成了狗,只能靠抖动身体来缓解身体的冰冷。冬夜的深冷让我怀念起北方城市里的集中供暖。

集中供暖在经济学上可归为一种共享经济,大家统一向供暖公司采购暖气服务,因为规模经济的效益,显著降低了个体取暖成本。对于这一经济模式,若转为 IT 技术术语,那就是多租户技术。

多租户技术(multi-tenancy technology)实际是一种软件架构技术,它是在探讨与实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可以确保各用户的业务不互相影响。多租户技术源于 20 世纪 60 年代,早期主要是实现宝贵的计算资源的共享,后来逐渐衍生到软件服务。

近几年随着云计算技术的成熟,云计算多租户技术在 SAAS 服务领域更是取得较大的发展和应用。那么金融行业是否可以基于云计算资源,打造一个多租户业务平台呢?金融行业是一个特殊行业,金融 IT 系统相比其他行业的 IT 系统,具有很多独特的技术要求,比如系统的高可用性、数据安全的敏感性、业务操作的严格校验等。传统的金融 IT 系统多是自建模式,整个系统资源,从硬件服务器到应用软件都在金融机构自己手中。所以若要向金融机构提供云服务,则需要根据金融机构 IT 系统的特点,进行合理的多租户平台业务架构设计。


多租户业务平台首先要保证不同租户业务的隔离,业务隔离主要包含以下 2 个方面:

物理隔离,租户开展业务所依赖的所有计算资源完全独立;

逻辑隔离,通过技术手段,隔离租户业务流程和业务数据,一个租户只能访问自身数据。业务平台在设计时,需要能够根据客户需求提供不同形式的服务,即支持计算资源共享模式,也可支持计算资源独享模式。所以在业务设计时,从数据库表结构到服务请求,都需要加上租户标识。通过租户标识,解决了不同租户业务数据逻辑隔离的需求,那么对于租户独享计算资源模式,则通过为其部署单独的应用实例予以解决,业务平台通过统一的云公共管理模块进行多应用实例管理,从而解决大规模业务资源管理问题。多租户业务平台除了业务隔离外,另外一个重点就是能够根据客户业务需要提供弹性的计算资源。其途径有两种,一种是提升单位计算资源的配置,比如提升 CPU、内存、存储配置,另一种就是借助分布式系统架构设计,支持业务单元的横向扩展。在解决了上述 2 个基本问题后,我们再更深入地考虑如何设计一个多租户业务平台。想到多租户平台,大家可能首先想到淘宝,一个个卖家在淘宝上开店卖货。那么淘宝如何实现为多商家服务的呢?我们是否可以像淘宝一样搭建一个金融云多租户平台?其中又有哪些因为业务不同而需要特殊注意的呢?淘宝为了支持多卖家服务,主体需要构建如下业务模块:商户管理、商户销售员管理、商品管理、商品销售管理、平台运营管理、多租户技术(multi-tenancy technology)实际是一种软件架构技术,它是在探讨与实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可以确保各用户的业务不互相影响。


56自然人自然人平台转化用户 用户自然人平台操作员管理机构-租户合作方操作员授权租户操作员支持服务 支持服务(图-2:操作员之间的业务关系)产品-A 产品-B 产品A’ 产品-C(图-1:平台用户相互转化)平台运维管理。但在电商平台上,有一个突出特点,买家不属于任何一个卖家,买家属于淘宝平台,只有当交易发生时,才会发生买家、卖家的业务关联,买家与卖家的联系实际是通过商品实现的间接联系。但金融业务云平台因为业务主体是各类金融机构,业务用户属于租户,这一显著差异决定了金融云平台的业务架构不能完全照搬电商模式。首先我们看一下金融云平台业务主体,主要包括四类:平台提供商、租户(各类金融机构)、用户(金融机构服务的客户)、业务合作方(与金融机构合作的机构)。平台提供商为租户、业务合作方提供业务服务,租户为其客户提供服务。

对上述四类业务需求进行技术抽象,则可归类为:

对人的管理(用户和操作员):用户是租户的用户,同时也是平台服务的用户,通过平台整体服务的连接效应和业务运营,实现不同租户之间用户的相互转化,从而实现为用户提供更多的服务;操作员根据所属业务主体不同,分为平台操作员、租户操作员、合作方操作员。通过操作员的分类和角色划分,通过操作权限和数据权限的组合,实现操作员的灵活管理。

对机构的管理:根据业务角色不同,机构可分为平台服务商、业务租户和业务合作方。在某一业务中,一个机构是业务租户,但在另一个业务中,此机构有可能是一个业务合作方;通过机构和机构业务角色管理,实现对机构的多维护管理。

对业务的管理:一类业务对应一个产品,用户、操作员、机构各自分配相应的产品权限,通过人与业务的关联,实现多业务流程的整合和流转。从金融机构客户需求出发,采用合理的业务和技术设计,不断地探索和实践,相信在不远的将来,在金融 IT 系统领域,多租户云平台定会迎来蓬勃发展。

目录
相关文章
|
SQL 运维 监控
云平台-多租户技术设计
云平台-多租户技术设计
2736 0
云平台-多租户技术设计
|
10月前
|
SQL 存储 SpringCloudAlibaba
浅析SaaS多租户系统数据隔离实现方案
多租户问题,其是一种架构设计方式,就是在一台或者一组服务器上运行的SaaS系统,可以为多个租户(客户)提供服务,目的是为了让多个租户在互联网环境下使用同一套程序,且保证租户间的数据隔离。从这种架构设计的模式上,不难看出来,多租户架构的重点就是同一套程序下多个租户数据的隔离。由于租户数据是集中存储的,所以要实现数据的安全性,就是看能否实现对租户数据的隔离,防止租户数据不经意或被他人恶意地获取和篡改
1104 0
|
8月前
|
存储 SQL 数据库
典型场景 | PolarDB-X 如何支撑SaaS多租户
很多平台类应用或系统(如电商CRM平台、仓库订单平台等等),它们的服务模型是围绕用户维度(这里的用户维度可以是一个卖家或品牌,可以是一个仓库,等等)展开的。因此,这类型的平台业务,为了支持业务系统的水平扩展性,业务的数据库通常是按用户维度进行水平切分。
|
存储 SQL 安全
[云计算架构:Dynamics ] 多租户 或多实例 ?
[云计算架构:Dynamics ] 多租户 或多实例 ?
|
大数据
《金融级别大数据平台的多租户隔离实践》电子版地址
金融级别大数据平台的多租户隔离实践
67 0
《金融级别大数据平台的多租户隔离实践》电子版地址
|
存储 运维 监控
SaaS厂商数据库设计(1)-多租户设计
介绍SaaS厂商在数据库设计中使用多租户,以及相应的部署模式
1311 2
SaaS厂商数据库设计(1)-多租户设计
|
存储 SQL 运维
多租户系统设计
多租户可以分为几个不同的类别: 云中的简单虚拟化,其中只对硬件进行共享。 共享应用程序,对每个租户使用不同的数据库。 共享应用程序和数据库(效率最高,真正的多租户)。
多租户系统设计
|
运维 Kubernetes 微服务
Kubernetes多租户策略的好处和挑战
Kubernetes多租户策略的好处和挑战
198 0
Kubernetes多租户策略的好处和挑战
|
分布式计算 安全 MaxCompute
MaxCompute 多租户数据安全体系
很多用户对MaxCompute多租户数据安全体系感兴趣,我们将对其进行系统介绍。
2532 0