专业体系结构

您的Adobe Commerce on cloud infrastructure Pro架构支持多种环境,您可以使用这些环境开发、测试和启动您的商店。

  • 母版 — 提供 master 分支已部署到Platform as a Service (PaaS)容器。
  • 集成 — 提供单个 integration 分支进行开发,但您可以创建一个其他分支。 这最多允许两个 活动 分支部署到Platform as a Service (PaaS)容器。
  • 暂存 — 提供单个 staging 分支部署到专用基础架构即服务(IaaS)容器。
  • 生产 — 提供单个 production 分支部署到专用基础架构即服务(IaaS)容器。

下表总结了环境之间的差异:

集成
暂存
生产
支持中的设置管理 Cloud Console
有限
有限
支持多个分支
否(仅限暂存)
否(仅限生产)
使用YAML文件进行配置
在专用IaaS硬件上运行
包括Fastly CDN
包括New Relic服务
APM
APM + NRI
自动备份
NOTE
Adobe提供了Cloud Docker for Commerce工具,可用于部署到本地Cloud Docker环境,以便您能够开发和测试Adobe Commerce项目。 请参阅 Docker开发.

环境架构

您的项目是一个包含三个主要环境分支的Git存储库: integrationstaging、和 production. 下图显示了Pro环境的层次关系:

专业环境体系结构的高级视图

主环境

在Pro项目中, master branch为您的生产环境提供活动的PaaS环境。 始终将生产代码的副本推送到 master ,这样您就可以在不中断服务的情况下调试生产环境。

注意事项:

  • Do 创建分支,基于 master 分支。 使用集成环境创建用于开发的活动分支。

  • 请勿使用 master 用于开发、UAT或性能测试的环境

集成环境

集成环境在Linux容器(LXC)中运行,该容器位于称为PaaS的服务器网格上。 每个环境都包含一个Web服务器和数据库,用于测试您的站点。 请参阅 区域IP地址 以获取AWS和Azure IP地址的列表。

推荐用例:

集成环境是为在将更改移动到暂存和生产环境之前进行有限的测试和开发而设计的。 例如,您可以使用集成环境完成以下任务:

  • 确保对持续集成(CI)流程所做的更改与云兼容

  • 在主页、类别、产品详细信息页面(PDP)、结账和管理员等关键页面上测试关键工作流

要在集成环境中获得最佳性能,请遵循以下最佳实践:

  • 限制目录大小

  • 仅限使用一位或两位并发用户

  • 禁用cron作业并根据需要手动运行

注意事项:

  • 在集成环境中无法访问Fastly CDN和New Relic服务

  • 集成环境体系结构与暂存和生产体系结构不匹配

  • 请勿使用 integration 用于开发测试、性能测试或用户验收测试(UAT)的环境

  • 请勿使用 integration 用于测试B2B的Adobe Commerce功能的环境

  • 无法从数据库生产或暂存还原集成环境中的数据库

NOTE
在2020年6月5日之前配置的项目具有多个较小的集成环境。 如果您需要更大的集成环境来进行测试和开发,请请求升级到增强集成环境。 请参阅 集成环境请求 中的文章 Adobe Commerce帮助中心 以了解详细信息。

暂存环境

暂存环境提供了一个用于测试站点的准生产环境。 此环境托管在专用的IaaS硬件上,包括所有服务,如Fastly CDN、New Relic APM和搜索。

推荐用例:

该环境与生产架构相匹配,设计用于UAT、内容暂存和最终审查,然后再将功能推送到 production 环境。 例如,您可以使用 staging 完成以下任务的环境:

  • 针对生产数据的回归测试

  • 启用了Fastly缓存的性能测试

  • 测试新内部版本,而不是在生产环境中打补丁

  • 新内部版本的UAT测试

  • 测试Adobe Commerce的B2B

  • 自定义cron配置和测试cron作业

请参阅 部署工作流测试部署.

注意事项:

  • 启动生产站点后,请使用暂存环境主要测试用于生产关键错误修复的修补程序。

  • 不能从创建分支 staging 分支。 实际上,您是从推送代码更改 integration 分支到 staging 分支。

生产环境

生产环境运行面向公众的单个和多站点店面。 此环境在专用IaaS硬件上运行,具有冗余、高可用性节点,可为客户提供持续访问和故障转移保护。 生产环境包括暂存环境中的所有服务,以及 New Relic基础架构(NRI) 服务,自动与应用程序数据和性能分析连接,以提供动态服务器监控。

警告:

不能从创建分支 production 分支。 实际上,您是从推送代码更改 staging 分支到 production 分支。

生产技术栈栈

生产环境在由HAProxy管理的每个虚拟机的Elastic Load Balancer后面有三个虚拟机(VM)。 每个虚拟机都包括以下技术:

  • Fastly CDN—HTTP缓存和CDN

  • 恩金克斯 — 使用PHP-FPM的Web服务器,一个实例具有多个工作程序

  • GlusterFS — 用于管理所有静态文件部署和使用四个目录装载进行同步的文件服务器:

    • var
    • pub/media
    • pub/static
    • app/etc
  • Redis — 每个虚拟机一台服务器,只有一个活动,另外两个作为副本

  • Elasticsearch — 在cloud infrastructure 2.2到2.4.3之间搜索Adobe Commerce-p2

  • OpenSearch — 在cloud infrastructure 2.3.7-p3、2.4.3-p2、2.4.4及更高版本上搜索Adobe Commerce

  • 加莱拉 — 数据库群集,每个节点有一个MariaDB MySQL数据库,每个数据库的唯一ID的自动增量设置为三

下图显示了生产环境中使用的技术:

生产技术栈栈

冗余硬件

而不是运行传统的“主动 — 被动”模式 master 或者进行主 — 辅助设置,云基础架构上的Adobe Commerce运行 冗余体系结构 其中,所有三个实例都接受读取和写入。 此架构在扩展时提供零停机时间,并确保事务完整性。

由于独特的冗余硬件,Adobe可以提供三台网关服务器。 大多数外部服务都支持向允许列表添加多个IP地址,因此拥有多个固定IP地址不成问题。 三个网关映射到生产环境群集中的三个服务器,并保留静态IP地址。 它完全冗余,并且在每个级别都具有高可用性:

  • DNS
  • 内容交付网络(CDN)
  • 弹性负载平衡器(ELB)
  • 包含所有Adobe Commerce服务(包括数据库和Web服务器)的三服务器群集

备份和灾难恢复

云基础架构上的Adobe Commerce使用高可用性体系结构,该体系结构在三个单独的AWS或Azure可用区上复制每个Pro项目,每个区都有一个单独的数据中心。 除了这种冗余, Pro暂存和生产环境还接收常规实时备份,这些备份是针对以下情况而设计的 灾难性故障.

自动备份 包括来自所有正在运行的服务(如MySQL数据库和装载的卷上存储的文件)的永久数据。 备份将保存到与生产环境位于同一区域的加密弹性块存储(EBS)中。 不能公开访问自动备份,因为它们存储在单独的系统中。

TIP
在专业暂存和生产环境中,您必须 提交Adobe Commerce支持票证 在票证中检索注明日期、时间和时区的特定备份。
Adobe会 从自动备份中恢复任何环境。 请参阅 从暂存或生产环境恢复数据库快照 以帮助选择还原暂存或生产快照的方法。

您可以创建 手动备份 使用CLI命令为暂存环境和生产环境创建数据库。 请参阅 备份数据库. 对象 integration Adobe建议,在访问云基础架构项目上的Adobe Commerce以及应用任何重大更改之前,首先创建备份。 请参阅 备份管理.

恢复点目标

RPO最长为进行上次备份的6小时(例如,依次为06:00 、 12:00和18:00 )。 备份的频率取决于计划的备份计划以及写入存储服务的更改量。

保留策略

Adobe根据以下数据保留策略保留自动备份:

时间段
备份保留策略
第1天至第3天
每小时一次备份
第4天至第7天
每天备份一次
第2周至第6周
每周一次备份
第8周至第12周
双周备份
第3个月至第5个月
每月一次备份

此策略可能因您的云基础架构计划而异。

恢复时间目标

RTO取决于存储的大小。 大型EBS卷需要更多时间来恢复。 恢复时间可能因数据库的大小而异:

  • 大型数据库(200 GB以上)可能需要5个小时
  • 中等数据库(150 GB)可能需要2.5小时
  • 小型数据库(60 GB)可能需要1小时

专业群集扩展

Pro群集大小调整和 计算 配置因所选的云提供商(AWS、Azure)、地区和服务依赖项而异。 Adobe云基础架构可以扩展Pro群集,以随着需求的变化满足流量期望和服务要求。

冗余体系结构使Adobe云基础架构能够在不停机的情况下进行扩展。 在升级时,这三个实例中的每一个都会轮换以升级容量,而不会影响站点操作。 例如,如果约束位于PHP级别而不是数据库级别,则可以将额外的Web服务器添加到现有群集。 这提供了 水平缩放 以补充数据库级别上额外CPU提供的垂直扩展。 请参阅 可扩展的体系结构.

如果您预计某个事件或其他原因会导致流量显着增加,则可以请求临时增加容量。 请参阅 如何请求临时扩展Commerce帮助中心.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26