共计 3786 个字符,预计需要花费 10 分钟才能阅读完成。
SAP Commerce Cloud Architecture
只管咱们在“SAP Commerce Cloud 入门”一文中介绍了 SAP Commerce Cloud 的一些高级架构,但在此咱们将重点介绍在您的我的项目期间须要做出的一些理论架构决策。应用 SAP Commerce Cloud 时,您可能会发现存在一些在 On-Premises 我的项目中不存在的限度。然而,事实并非如此。这只是以不同形式设计您的解决方案的问题。
High-Level Software Architecture
SAP Commerce Cloud 蕴含可用于创立定制商务解决方案的强制性和可选软件包的组合。这些包含:
云自动化
- Microsoft Azure – 公共云基础架构提供商
- SAP 业务技术平台 – 用于托管 SAP Commerce Cloud Portal、SAP ntegration Suite 和 SAP Extension Suite 等应用程序 / 服务的业务平台
- Kubernetes – 用于编排运行商业解决方案所需的 docker 节点
可定制的软件
- SAP Commerce – 在 Cloud Portal 构建过程中与您的自定义代码联合的外围平台
- Accelerator – 基于 SAP Commerce 中提供的模板的定制店面。
- Spartacus JavaScript 店面 – 一个解耦的开源店面,它应用全方位商务连贯 (OCC) API 与您的 SAP Commerce Cloud 环境进行通信。无关更多详细信息,请参阅为您的 SAP Commerce Cloud 解决方案抉择要应用的店面。
- 行业加速器(文档)– 行业特定店面模板
- 数据中心(文档)- 用于为每个 SAP Commerce Cloud 环境导入 / 导出主数据的选项。无关更多详细信息,请参阅 SAP Commerce Cloud 的集成选项。
- SAP 扩大套件 – 基于开源我的项目“Kyma”的微服务扩大层。无关更多详细信息,请参阅 SAP Commerce Cloud 的集成选项。
Additional Server Hosting & Third-Party Software Applications
通常,您须要 SAP Commerce Cloud 解决方案与第三方应用程序进行交互。如果您的第三方应用程序须要拜访服务器或无奈通过固定的构建和部署过程实现(即须要的不仅仅是通过“ant all”指标能够实现的工作),那么它就不能成为您的 SAP Commerce 的一部分 云代码,须要托管在其余中央。本节更具体地记录了一些常见示例,但其余选项可能包含第三方 CMS 或为二进制包设置公有存储库。
在布局您的应用程序时,请认真思考哪些应用程序、二进制文件或基础架构组件(超出 Commerce 应用程序和数据库)形成您的指标架构的一部分。本节中的示例不排除更多样化的指标架构,但的确须要一种架构设计,以促成生产性 SAP Commerce Cloud 订阅与单个我的项目所依赖的其余组件(不禁 SAP 提供)之间的关注点拆散 商务云)。
Continuous Integration / Continuous Delivery (CI/CD)
如果您正在寻找简单的自动化管道或每次提交构建,您将须要设置本人的 CI/CD 实例。这将为您提供灵活性和控制力,以确保在构建 / 部署到共享 SAP Commerce Cloud 环境之一之前构建和测试您的代码。您能够应用 Commerce Cloud API 近程执行构建 / 部署。您的 CI/CD 实例应该可能连贯到 SAP Commerce Cloud 应用的同一个 Git 存储库。CI/CD 应用程序的地位并不重要,因为它不会间接影响 SAP Commerce Cloud 解决方案的性能。如果您发现从 Git 存储库中提取代码的提早太长,您能够思考更换您的 CI/CD 应用程序的托管地位。无关为 SAP Commerce Cloud 解决方案设置 CI/CD 的更多信息,请参阅应用 SAP Commerce Cloud 施行继续交付。
Image Resizing
图像大小调整通常在 Commerce 中通过扩大实现,该扩大通常依赖于装置在 Commerce 服务器上的第三方软件 (ImageMagick)。在 Cloud Automation 1912 版本中,SAP Commerce Cloud 中提供了图像转换服务,并且能够在清单文件中蕴含 cloudmediaconversion 扩大时启用。
Third Party Application
如果您的 SAP Commerce Cloud 解决方案须要尚未由第三方托管的应用程序,您应该思考在何处托管它。倡议尝试通过在与 Commerce Cloud 订阅雷同的 Azure 日期核心运行它来尽量减少提早。如果您不晓得正在应用哪个数据中心,您能够通过云可用性核心找到此信息。如果您不想应用 Azure,您能够在同一地区寻找等效的公共云提供商,只管当呼叫转到内部数据中心时可能会有额定的提早。如果它是一个异步调用或一个不常常产生的调用,那么这种额定的提早可能不是您的解决方案的要害。
下面的示例蕴含一个在自托管服务器上运行的应用程序,并公开 REST 服务,这些服务可由您的一个或多个 SAP Commerce Cloud 方面调用。
E-mail Service
SAP Commerce 应用 Web 内容管理系统 (WCMS) 模块来定义和生成电子邮件,从而利用在电子邮件文本中出现的 WCMS 组件。在幕后,Apache Commons 电子邮件库提供了所有必须的软件基础设施,将解决方案与简略邮件传输协定 (SMTP) 分割起来。SAP Commerce Cloud 充当客户端,但须要 SMTP 服务器 / 服务。
SAP Commerce Cloud 不提供 SMTP 服务器,这意味着您必须提供备用 SMTP 策略。
Cloud Hot Folders (Extended Hot Folders)
Hot Folders 已倒退成为 SAP Commerce Cloud 的基于文件的集成策略,当初称为 Cloud Hot Folders。
下图概括地显示了该解决方案如何从 SAP 基础架构上的 SAP Commerce Cloud 演变为新的 SAP Commerce Cloud。次要更新如下:
- 近程存储反对(Azure 云存储)
- 反对 ZIP 文件(外围数据、样本数据和原始 ImpEx 文件)
- 反对 URL 媒体文件
- 文件排序
- 改良的监控
在 SAP Commerce Cloud 中,Hot Folders 模块已扩大为包含上述改良。因为 SAP Commerce Cloud 应用长期磁盘存储,不再提供 SSH 文件传输协定 (SFTP) 服务器(用于上传媒体)或数据文件(用于导入)。相同,您有一个应用 Azure Blob 存储作为文件源的云热文件夹。
Caching
Content Delivery Network
获取要缓存的端点的 IP(例如,店面、后盾)。要在 Cloud Portal 中执行此操作,请抉择环境,而后单击端点的端点链接。当编辑端点屏幕关上时,找到根本配置局部中的域字段。端点的 DNS 名称是域地址。您能够尝试应用 NS 查找来获取 IP.
在您的环境期间,您的端点的 IP 是动态的。如果您的环境被重新配置,IP 很可能会扭转。因而,您还须要通过 CDN 提供商进行更新。
将这些 IP 提供给您的 CDN 提供商。
如果您的端点不可公开拜访,请确保您已将 CDN 增加到 IP 过滤器列表中。
Region Cache
SAP Commerce Cloud 利用 SAP Commerce 的现有区域缓存。然而,因为 SAP Commerce Cloud 构建过程管制 Java 堆大小,这可能因环境而异,因而须要以灵便的形式配置缓存区域,而不是在外部设置固定值。
Cronjobs Execution
筹备应用 SAP Commerce Cloud 时的一个要害思考因素是,在解决代表生产的数据集时,确保任何批量解决作业在“backgroundProcessing”方面的固定资源占用范畴内牢靠运行。如果您从 SAP 基础架构上的 SAP Commerce Cloud 或本地实例迁徙,则尤其如此。‘backgroundProcessing’ 方面将运行任何主动触发的 cronjob;如果您从“后盾”方面手动触发作业,它将在触发它的节点上运行。
例如,能够开发加载价格信息的批量解决作业,将整个价格行文件加载到内存中进行解决。在解决文件导入时,这通常被认为是不好的做法。起因在于,尽管在应用小数据集进行测试时,这可能在开发环境中牢靠地工作,但在生产环境中,理论价格行文件的大小可能有数百兆字节,并且须要显式减少调配给 Java 虚拟机的资源能力将文件牢靠地加载到 内存中。如果这种状况产生在 SAP Commerce Cloud 上,则无奈扩大调配给单个“后盾解决”节点的资源。
因而,所有批量解决作业都应开发为:
- 无效利用调配的资源,批量导入并被动开释援用,以在整个导入过程中实现统一的内存配置文件。
- 防止不必要地将大型数据集加载到内存中。
- 在“backgroundProcessing”aspect 散发大批量解决工作。
应用现有我的项目迁徙到 SAP Commerce Cloud 的客户应查看其批量解决作业,以验证他们是否恪守了这些准则。
Conclusion
只管 SAP Commerce Cloud 以统一的架构提供了大部分基础设施,但总会有内部零碎须要与您的商务解决方案进行交互。正确理解 SAP Commerce Cloud 现有架构的个性和劣势将有助于您设计新的集成。
更多 Jerry 的原创文章,尽在:” 汪子熙 ”: