Multitenancy is the fundamental technology that clouds use to share IT resources cost-efficiently and securely.

多租户支持是所有云服务提供商都需要着力实现的一种技术,用于云基础设施上在成本可控和保证安全性的前提下进行IT资源分享。

多租户支持面临的四大挑战:

  1. how to keep tenant-specific data secure in a shared database so that one tenant can’t see another tenant’s data?

如何保证共享数据库内不同租户间的数据隔离,通俗的说,一个租户不应该看到其他租户的数据。

  1. 当一个租户对其拥有的schema对象或者应用编程接口进行调整时,不应影响到其他租户的功能和整个系统的可用性。

How can one tenant customize various schema objects and an application’s user interface in real time without affecting the functionality or availability of the system for all other tenants?

  1. How can the system’s code base be patched or upgraded without breaking tenant-specific schemas?

系统基层实现发生变动,比如代码版本升级,或者新的补丁进来时,不应该破坏每个租户私有的对象。

  1. And how will the system’s response time scale as tens of thousands of tenants use the service?

随着系统租户数量的增加,整个系统的响应时间不应该急剧下降。

Force.com’s core technology uses a runtime engine that materializes all application data from metadata—data about the data itself. In Force.com’s well-defined metadata-driven architecture, there is a clear separation of the compiled runtime database engine (kernel), tenant data, and the metadata that describes each application. These distinct boundaries make it possible to independently update the system kernel and tenant-specific applications and schemas, with virtually no risk of one affecting the others.

Salesforce应对这些挑战的设计是,采取了一种运行时引擎的思路,所有的应用数据都通过元数据生成,即所谓元数据驱动的架构(metadata driven architecture)。这样一来,模型的元数据作为输入,交给运行时引擎加工,生成运行时使用的模型和数据,三者各司其职,有严格的区分,实现了一种高度动态的内核。

注:本文的英文文字和图片来自Salesforce官网:https://developer.salesforce....

中文文字为本文作者原创内容。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

Salesforce平台支持多租户Multi tenant的核心设计思路相关推荐

  1. SAP Hybris和Netweaver的租户隔离(Tenant isolation)机制设计

    ABAP里的tenant isolation是通过DB table的client ID来区分的. Hybris也有multi tenant的concept: Hybris multi tenant典型 ...

  2. 多租户 Saas 系统架构的设计思路

    ToB Saas 系统最近几年都很火.很多创业公司都在尝试创建企业级别的应用 cRM, HR,销售, Desk Saas系统.很多Saas创业公司也拿了大额风投.毕竟Saas相对传统软件的优势非常明显 ...

  3. 嵌入式商业智能报表Wyn Enterprise v4.1:支持SaaS租户和分级组织管理

    Wyn Enterprise 作为葡萄城在数据分析与可视化领域的拳头产品,通过灵活的数据交互和探索分析能力,以及 OEM 白标集成的方式,全面满足行业应用软件的数据分析需求.Wyn Enterpris ...

  4. 关于SaaS平台中应对多租户系统模式的权限设计

    概要 在不同的系统中,其实关于权限设计是没有标准方案的.一般地,依据项目需求进行系统的功能规划设计.组织结构设计以及对应的权限设计等即可.权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是 ...

  5. arcalet云服务平台支持Unity3D开发实时多人联机游戏

    arcalet 云服务平台支持 Unity3D 开发实时多人联机游戏 打破旧有的实时联机开发模式,全新的云端在线游戏平台带来更敏捷.简单及有 效的帮助开发者减少开发时间与成本. 开发联机游戏除了要解决 ...

  6. 多平台支持:下一步容器技术热点

    Linux容器技术最近几年发展迅速,从最初的互联网公司的实验技术发展成为分布式应用事实上的标准.Docker资深副总裁Marianna Tessel说,这项技术可以支持多容器,多主机应用,并且从lin ...

  7. 甲骨文宣布供应链管理云平台支持LogFire仓库管理系统

    本文讲的是 :甲骨文宣布供应链管理云平台支持LogFire仓库管理系统    ,[IT168 资讯]甲骨文发布了一系列对其供应链管理产品的更新,并表示,云平台现在支持去年收购LogFire的仓库管理系 ...

  8. 支持国产处理器仿真的全数字实时仿真平台SkyEye与可信编译器L2C的核心翻译步骤

    1.核心翻译步骤示例 本节我们以第2节提到的Lustre语言的主要特性为线索来解释L2C在翻译过程中的关键节点是如何处理的, 并以图 1的实例来解释Lustre程序是如何被一步步地翻译到Clight语 ...

  9. libuv:多平台支持库-异步I / O

    http://libuv.org/ 目录 概述¶ 功能 文档 下载 安装 设计概述¶ 把手和请求¶ I / O循环 文件I / 概述¶ libuv是一个多平台支持库,主要关注异步I / O.它主要通过 ...

最新文章

  1. 你真的会写单例模式吗?
  2. js下拉 selenium_如何使用Python / Selenium webdriver处理Angularjs / Javascript下拉列表?
  3. Firefox火狐Flash插件卡死问题完美解决方法(转载)
  4. python中接口测试垃圾数据如何清理_巧用PyUnit中unittest特性解决接口测试产生脏数据问题...
  5. 凸透镜成像动画可拖动_光学实验二:探究凸透镜成像规律
  6. Docker集群管理之Swarm介绍
  7. zendstudio的安装与配置
  8. 解决permission denied错误
  9. mysql如果中途报错则_Mysql的下载安装全过程(包括中途遇到的问题)
  10. 【语音处理】基于matlab GUI汉宁窗FIR陷波滤波器语音信号加噪去噪【含Matlab源码 1711期】
  11. 小米cc9出厂线刷包_小米CC9手机忘记密码一键刷机解锁 | 线刷宝刷机工具刷机包下载...
  12. Dubbo源码解析之SPI(一):扩展类的加载过程
  13. 翻炒《天龙八部》[转]
  14. 关于Log4j 1.x 升级Log4j 2.x 那些事
  15. 家谱系统php,家谱信息管理系统
  16. 使用性能利器 Redis实现网站的加速
  17. 第一篇--读刘同的《别做那只迷途的候鸟》
  18. Camera2闪光灯相关
  19. sequelize 设置mysql字段类型,text字符长度太小可采用longText
  20. Optional orElseThrow 错误: 未报告的异常错误X; 必须对其进行捕获或声明以便抛出...

热门文章

  1. 有效用例模式阅读笔记三
  2. Essential Studio for mobile MVC如何创建一个Razor应用程序平台
  3. 准确判断他人忠诚度的有效办法
  4. SUSE10中Oracle10g存储中文数据
  5. 最完美的ASCII 表
  6. 996.icu 不加班的程序员有前途吗?
  7. CF 1098 C. Construct a tree
  8. SQL 中字母大小写转换
  9. spring boot +spring data jpa +druid 多数据源配置
  10. Flashtext:大规模数据清洗的利器