睿诚科技协会

Salesforce技术架构核心是什么?

Salesforce 的架构非常独特,它是一个多租户架构,这也是其能够实现高可用性、高可扩展性和成本效益的核心,我们可以从多个层面来理解它:核心概念、分层架构、关键组件、以及开发者如何与之交互。

Salesforce技术架构核心是什么?-图1
(图片来源网络,侵删)

核心基石:多租户架构

在深入细节之前,必须理解 Salesforce 的灵魂——多租户

想象一栋摩天大楼,Salesforce 就是这栋大楼的物业管理公司。

  • 租户:就是每个使用 Salesforce 的公司(客户),A 公司、B 公司。
  • 公寓:就是每个租户专属的数据和工作空间,A 公司的数据和 B 公司的数据是完全隔离的,A 公司的员工无法看到 B 公司的数据,反之亦然。
  • 大楼的基础设施:大楼的水电、电梯、外墙、地基等公共设施,由 Salesforce(物业管理公司)统一建设和维护,所有租户共享这些基础设施。

多租户架构的优势:

  1. 成本效益:所有客户共享底层硬件、软件和运维成本,Salesforce 可以以订阅模式提供相对低廉的服务。
  2. 高可用性:由于基础设施是共享的,Salesforce 可以在全球范围内部署冗余数据中心,如果一个数据中心出现问题,流量会自动切换到另一个,保证业务不中断。
  3. 快速创新与更新: Salesforce 可以一次性对所有租户进行平台升级和功能更新,无需客户自己打补丁或升级软件,用户总是能使用最新版本的功能。
  4. 数据安全与隔离:严格的逻辑隔离机制确保了每个客户的数据都是安全的,符合各种合规性要求(如 GDPR, SOC 2 等)。

Salesforce 技术架构分层

Salesforce 的架构可以看作一个多层蛋糕,每一层都为上一层提供服务。

Salesforce技术架构核心是什么?-图2
(图片来源网络,侵删)

基础设施层

这是整个架构的物理和虚拟基础,由 Salesforce 完全控制。

  • 全球数据中心:在全球多个地区拥有数十个数据中心,确保服务的低延迟和高可用性。
  • 网络:拥有自己的全球骨干网络,连接各个数据中心,并为客户提供安全的连接方式(如 Private Connect, Direct Connect)。
  • 硬件与虚拟化:使用高度虚拟化的服务器、存储和网络设备,底层运行着定制版的 Linux 内核和虚拟化技术。
  • 安全:从物理安全到网络安全,提供全方位的保护,包括防火墙、入侵检测系统等。

平台层

这是 Salesforce 的核心,提供了所有运行时服务和数据管理能力。

  • 数据库
    • 核心是一个关系型数据库,但经过了深度定制和优化,以适应多租户环境。
    • 数据以对象 的形式组织,每个对象有标准的字段(如 Account 的 Name, Industry)和自定义字段。
    • 数据库是“无模式”的,意味着你可以在不修改底层表结构的情况下,通过简单的点击操作添加自定义字段和对象,极大地提升了灵活性。
  • 元数据
    • 这是 Salesforce 架构的精髓,元数据是关于数据的数据,即你的应用的蓝图
    • 包括:对象定义、字段定义、页面布局、工作流规则、业务流程、Apex 类、页面、组件等。
    • 所有元数据都存储在 Salesforce 的元数据存储中,当你通过界面或代码进行配置时,你实际上是在修改元数据。
  • 运行时执行引擎
    • Apex 引擎:用于执行 Apex 代码,它是强类型的、面向对象的,运行在一种受控的、沙箱化的环境中,确保不会影响其他租户。
    • Visualforce 引擎:用于渲染 Visualforce 页面,它是一个 MVC 框架,将业务逻辑、数据和视图分离开。
    • Lightning Web Components (LWC) / Aura 引擎:用于渲染 Lightning 页面和组件,这是现代的、高性能的前端框架。
  • API 层
    • 提供了丰富的 API 接口,允许外部系统与 Salesforce 进行集成和交互,这是 Salesforce 成为“集成平台”的关键。
    • REST API:基于 HTTP/JSON,轻量级,广泛用于 Web 和移动应用。
    • SOAP API:基于 XML,功能强大,适合企业级的、复杂的集成。
    • Apex REST/SOAP:允许开发者用 Apex 创建自定义的 Web 服务。
    • Bulk API:用于处理大规模的数据导入和导出。
    • Streaming API:基于 CometD,允许服务器向客户端实时推送数据变化。
    • Tooling API:用于元数据的读取和部署,通常由开发工具(如 VS Code)使用。

数据层

虽然数据库属于平台层,但数据的管理和应用是如此重要,以至于可以单独成层。

  • 数据模型:由标准对象和自定义对象构成,形成你的业务实体。
  • 数据关系:通过主外键关系(Lookup, Master-Detail)将对象关联起来,构建复杂的数据网络。
  • 组织范围数据:控制数据在不同团队或部门间的可见性。
  • 记录级安全:通过共享规则和手动共享,精确控制用户对单条记录的访问权限。

应用层

这是最终用户直接交互的界面,也是业务逻辑的最终呈现。

Salesforce技术架构核心是什么?-图3
(图片来源网络,侵删)
  • Salesforce Classic (经典界面):Salesforce 最初的界面,基于表格布局,功能全面。
  • Lightning Experience (闪电体验):现代的用户界面,采用组件化、响应式设计,提供更佳的用户体验和更高的自定义灵活性。
  • Lightning App Builder:一个可视化工具,允许通过拖拽组件来构建自定义的 Lightning 页面。
  • 移动应用:原生移动应用,提供了离线能力、相机扫描、推送通知等功能,让用户随时随地访问数据。

集成层

这是 Salesforce 与外部世界沟通的桥梁。

  • 核心集成工具
    • Salesforce Connect:允许你像查询本地数据一样,实时查询外部系统(如 SAP, Oracle)中的数据,而无需将数据复制到 Salesforce。
    • Event Bus:一个发布/订阅消息系统,允许 Salesforce 内部和外部的事件(如订单创建、客户更新)被可靠地传递和处理,是实现事件驱动架构的关键。
    • Einstein Activity Capture:自动从外部系统(如 Gmail, Outlook, Teams)同步邮件和会议活动到 Salesforce 的相关记录上。
  • 第三方集成
    • MuleSoft Anypoint Platform:Salesforce 旗下的集成平台,提供强大的 ESB(企业服务总线)能力,用于构建复杂的、企业级的集成流程。
    • Tableau CRM:Salesforce 旗下的商业智能和数据分析平台,可以深度连接 Salesforce 数据,进行可视化分析和洞察。

关键开发者技术栈

作为开发者,你主要在以下层面工作:

技术 描述 层级
declarative (声明式/配置型) 通过点击界面进行配置,如创建对象、字段、页面布局、工作流、流程构建器等,这是 Salesforce 的核心优势,非技术人员也能完成大量定制。 应用层 / 平台层
Apex 强类型、面向对象的编程语言,类似于 Java,用于编写复杂的业务逻辑、数据库操作、API 服务等,运行在服务器端。 平台层
SOQL (Salesforce Object Query Language) 类似于 SQL,但专门用于查询 Salesforce 中的对象数据。 数据层 / 平台层
SOSL (Salesforce Object Search Language) 类似于搜索引擎的查询语言,用于跨多个对象进行全文搜索。 数据层 / 平台层
Visualforce 基于 MVC 的旧版 Web 开发框架,用于创建自定义的 Web 页面。 应用层
Lightning Web Components (LWC) 现代、开源、高性能的前端框架,用于构建 Lightning Experience 中的自定义用户界面,基于 Web 标准。 应用层
Lightning Aura Components LWC 之前的框架,功能更强大但更复杂,目前仍在使用,但新项目推荐 LWC。 应用层
Apex Triggers 特定的 Apex 代码,在数据操作(如插入、更新、删除)发生时自动触发,用于执行相关逻辑。 平台层

开发与部署流程

Salesforce 的开发遵循一个“沙箱”模式,以确保生产环境的稳定。

  1. 生产环境:公司正在运行的真实业务环境。
  2. 沙箱环境:生产环境的克隆副本,用于开发、测试和部署,有多种类型(Developer, Developer Pro, Partial Copy, Full Copy),满足不同需求。
  3. 开发流程
    • 开发者在沙箱中进行配置和编码。
    • 使用版本控制工具(如 Git)管理代码。
    • 使用Salesforce CLIVS Code (Salesforce 插件) 进行开发、测试和部署。
    • 通过 Change SetsMetadata API 将配置和代码从沙箱部署到生产环境

Salesforce 的技术架构是一个设计精良、高度集成的生态系统,其多租户理念是基石,确保了成本、安全、可扩展性元数据驱动的设计赋予了它无与伦比的灵活性,而强大的API 生态集成能力,使其成为企业数字化转型的核心中枢。

理解这个架构,无论是对于业务用户、管理员还是开发者,都能更好地利用 Salesforce 的强大功能,构建出满足业务需求的强大应用。

分享:
扫描分享到社交APP
上一篇
下一篇