【发布时间】:2020-02-08 02:18:03
【问题描述】:
Alfresco ECM 基于微服务架构。每个微服务是否连接到共享数据库?还是每个微服务都维护自己的数据库?谁能在更高的层次上解释一下露天内容服务的微服务架构?
【问题讨论】:
标签: design-patterns architecture microservices alfresco
Alfresco ECM 基于微服务架构。每个微服务是否连接到共享数据库?还是每个微服务都维护自己的数据库?谁能在更高的层次上解释一下露天内容服务的微服务架构?
【问题讨论】:
标签: design-patterns architecture microservices alfresco
其核心是内容存储库或 Alfresco Content Services (ACS)。存储库负责保存和保护文件夹和内容。有关这些文件夹和内容的元数据位于数据库中。
ACS 公开了一个 REST API,其他应用程序可以使用该 API 来管理存储库。
除此之外,您还有一个或多个前端。 “旧”前端称为 Alfresco Share。它不写入数据库——它只读取和写入数据到 ACS。较新的前端是 Alfresco Digital Workspace,它是一个利用 REST API 与 ACS 交互的 Angular 应用程序。它也不直接访问数据库。 ADW 是使用 Alfresco 开发人员框架 (ADF) 构建的,该框架是一组 Angular 组件和一个客户端 JavaScript API,可以在有或没有 Angular 的情况下使用。
接下来,您将获得转型服务。转换服务负责将内容从一种格式转换为另一种格式。它没有数据库交互。
存储在 repo 中的所有内容都被全文索引。有关该内容的元数据也被编入索引。 Alfresco 搜索服务有助于索引和查询。它没有数据库交互。它在幕后使用 Solr。
如果您有重要的工作流程/业务流程需求,您可能还安装了 Alfresco Process Services。 APS 基于 Activiti BPM 引擎,可以与 ACS 一起使用,也可以不与 ACS 一起使用。它将数据写入数据库。该数据库可能与 ACS 使用的数据库服务器相同,也可能不同,这取决于您。
完成高级概述的是 Alfresco Governance Services,您可能还会看到它被称为记录管理。 AGS 是一个安装到 ACS 中的模块,然后在 Alfresco Share 或基于 ADF 的前端(在更高版本中)中从最终用户的角度进行访问。 AGS 没有任何数据库交互。
Alfresco 的网站和in the docs 详细介绍了所有这些内容。
【讨论】: