Salesforce 架构

17 Mar 2025 | 5 分钟阅读

Salesforce 是领先的 CRM 平台之一,可为其客户、合作伙伴和员工提供各种定制服务。它还提供构建自定义应用程序、页面、组件等的平台,并且主要由于其遵循的架构,能够如此高效地执行所有这些任务。

Salesforce 架构是多层架构;它包含一系列彼此堆叠的层。

下图显示了 Salesforce 的架构视图

Salesforce Architecture

Salesforce 架构说明

  • 在多层 Salesforce 架构中,用户位于最顶层。
  • 用户可以访问用户层下方的层,这意味着 Salesforce 提供的各种云,例如*销售云、服务云、AppExchange* 等。
  • 第三层是 salesforce1 App,它允许用户在移动设备上访问 Salesforce。
  • 最后一层包含各种其他 Salesforce 平台,例如 Force.com、Heroku、Exact TargetFuel 等。

Salesforce 架构中使用的术语

Salesforce Architecture
  • App: 架构中的应用程序允许我们以可视方式收集各种事物。元数据元素(例如类、对象、Visualforce 等)与应用程序不同且独立。
  • Instance: Salesforce 架构的一个实例是当用户登录到 Salesforce 系统时出现在用户面前的软件配置。 它显示特定 Salesforce 组织在其上运行的服务器详细信息。 许多 Salesforce 实例可以驻留在单个服务器上。 但是,它基于用户的位置,并根据用户位置而变化。
  • Superpod: Superpod 是框架和堆栈平衡器的集合。 它包括出站中介服务器、系统和容量基础结构、邮件服务器、SAN 结构以及支持多个实例的各种其他框架。 它在数据中心内提供服务隔离,以便如果一个共享组件中出现问题,它可能不会影响每个实例。
  • Org: Org 或 Organization 是 Salesforce 应用程序的特定客户。 当新用户在 saleforce.com 或 developer.force.com 上开始试用时,它会在系统中生成一个新的组织。 该组织具有可自定义的安全性和共享设置,可以根据需要进行自定义。 单个组织可以为任何用户提供任何地方的支持,无论是多个获得许可的个人用户帐户、门户用户帐户还是 Force.com 站点用户帐户。
  • Sandbox: 沙盒是生产实例。 它包含示例数据,而不是原始数据。 沙盒允许开发人员测试各种开发条件,以实现客户对应用程序的期望。 使用沙盒,开发人员可以在不同的环境中创建生产组织的多个副本。

Salesforce 的核心架构

Salesforce 的架构可以理解为一系列层。 架构的每一层都具有不同的特性和功能。 下面描述了每一层

Salesforce Architecture

1. 多租户层

Salesforce 架构之所以如此受欢迎,是因为它的 多租户。 *多租户架构意味着多个组或客户使用一个通用应用程序*。 在这种架构中,多个客户端使用同一个服务器,但他们的 oak 彼此隔离。 这意味着一个客户端的数据是安全的,并且与其他组或客户端隔离。

由于多租户,任何开发人员都可以开发一个应用程序,将其上传到云端,并轻松地与多个客户或组共享。 多个用户共享同一个服务器和应用程序,因此它非常经济高效。 在 Salesforce 中,由于这种多租户架构,所有客户的数据都保存在一个数据库中。

Salesforce Architecture

正如我们在上图中看到的,通用应用程序在三个客户端之间共享。

多租户架构比单租户架构效率高得多。 下面给出了两种架构之间的一些差异

  • 在单租户架构中,开发成本远高于多租户,因为在单租户中,应用程序上的每个用户和维护成本也由单个用户拥有。
  • 要对应用程序进行任何更新,开发人员需要为每个客户端手动进行更新。 而在多租户中,开发人员只需在一个地方进行更新,每个客户端都会自动收到更新后的版本。

2. 元数据

Salesforce 平台遵循元数据开发模型。 元数据是指关于数据的数据。 Salesforce 将元数据与数据一起存储在共享数据库中。 这意味着它存储数据以及数据的作用。

正如我们在下图中看到的,租户特定的数据确保共享数据仅与一个租户共享,而不与其他租户或组共享。 这确保了即使在共享数据库中数据的安全性。 由于所有数据都以元数据的形式存储在不同的级别,即数据之上的数据,因此多租户架构解决了安全问题。

Salesforce Architecture

我们可以通过一个例子来理解它,例如如果有三个客户端 A、B 和 C,它们在 Salesforce 平台中包含共享数据库。 这些组可以从共享数据访问他们的元数据。 因此,每个客户端都将具有单独的元数据。 这种单独的元数据确保每个客户端仅共享他的数据,而不共享其他人的数据。 这提高了共享数据库的安全性和开发人员的生产力。

API 服务

Salesforce 元数据驱动模型允许开发人员借助各种工具轻松创建他们的应用程序。 但有时开发人员需要更多的应用程序功能来进行一些修改。 为了进行此类修改,Salesforce 提供了强大的 API 来源。 这些 API 帮助开发人员自定义 Salesforce 移动应用程序。 这些 API 允许各种编程位相互连接并交换数据。 在不知道很多细节的情况下,我们可以将我们的应用程序与其他应用程序连接起来。

API 提供了一种简单但功能强大且开放的方式,可以以编程方式访问数据和 Salesforce 平台上运行的任何应用程序。 这些 API 帮助开发人员使用支持 Web 服务的任何编程语言(例如JavaPHPC#.NET)从任何位置访问应用程序。