安装和升级 > 部署架构指南 > ThingWorx 部署体系结构
ThingWorx 部署体系结构
以下各部分包括典型 ThingWorx 部署的示意图。体系结构范围涵盖了简单开发系统、多节点群集、全局联合生产系统。有关 ThingWorx 组件的信息,请参阅 ThingWorx Foundation 部署组件
* 
要在混合和多站点部署中部署 ThingWorx,请参阅分布式 ThingWorx 部署
部署选项
PTC Cloud Services - 在管理服务部署中,ThingWorx 应用程序在第三方服务器 (通常是私有云) 上托管和管理。外部组织负责管理必要的基础设施并确保性能。
对于关注管理 ThingWorx 所需 IT 责任和专业知识的公司,PTC 提供了管理服务部署选项。借助 PTC Cloud Services,购买 ThingWorx 的公司可加快部署速度、最大程度降低 IT 成本和需求,同时可确保持续性能。PTC Cloud Services 将您的 ThingWorx 解决方案托管在可提供持续应用程序管理、性能调整和更新的商业云服务内的安全环境中。有关详细信息,请参阅 www.ptc.com/services/cloud
本地部署 - 使用本地部署意味着将在您自己的站点或数据中心的服务器上安装和运行 ThingWorx 软件。您需要负责获取、安装和维护基础设施和软件应用程序,并为其提供健康、可用性和性能方面的日常支持。
使用本地部署时,您可以自行执行部署或接洽“PTC 专业服务”(或经 PTC 认证的合作伙伴) 来管理部署。此选项适用于具有强大 IT 组织且极其希望继续采用内部控制模式的公司。
有关其他详细信息,请参阅以下各个部分:
ThingWorx Foundation 基本生产系统
对于基本生产系统,建议使用单独的服务器,以便在单独的服务器上运行数据库。它很适合用作中小型企业系统或大中型制造系统。
组件列表
组件数
负载平衡器
1
ThingWorx Connection Server
1
ThingWorx Foundation 服务器
1
附加或 NAS 文件存储
1
数据库
1
ThingWorx Foundation 大型生产系统 (非高可用性)
大型生产系统合并了其他组件以支持更多连接设备和更高数据接入率。
除平台组件外,大型生产系统还可能包括 ThingWorx Connection Servers 和 InfluxDB 时序数据库。
InfluxDB 系统接入来自资产的数据,其中 ThingWorx 会将资产作为已记录的值流内容进行管理。
维护 ThingWorx 模型仍需要一个关系数据库。
InfluxDB 可在单节点或多节点 (企业) 配置中部署,具体取决于接入和高可用性要求。有关其他详细信息,请参阅使用 InfluxDB 作为持久化方案提供工具
组件列表
组件数
负载平衡器
1 (将设备流量分布到连接服务器)
ThingWorx Connection Server
2..n (取决于设备的数量)
ThingWorx Foundation 服务器
1
关系数据库
1
InfluxDB (单节点)
1
ThingWorx 生产群集
对于高可用性 (HA) 部署,添加其他组件可消除应用程序和数据层中的单点故障。ThingWorx 平台需要以下组件:
高可用性负载平衡器。连接服务器和基础服务器节点组都需要负载平衡器实例来分布载荷。如果使用了 InfluxDB Enterprise 群集,则该群集也需要一个实例。许多负载平衡器选项都可以服务多个实例 - 在完成适当配置后,单个装置可用于服务所有三个实例。
两个 (或多个) ThingWorx Connection Servers。在群集操作中,需要使用连接服务器以在群集内分布设备载荷,或在节点失败时重新分布设备载荷。
两个 (或多个) ThingWorx Foundation 实例。每个节点均为主动状态 - 将在它们之间分布载荷。
ThingWorxStorage 是共享的磁盘存储 (每个节点都有权访问)。
* 
对于完整的高可用性部署,负载平衡器和共享 ThingWorxStorage 也应该实现冗余。
Apache Ignite 节点将为 ThingWorx Foundation 节点提供共享缓存。
三个 Apache ZooKeeper 节点。ZooKeeper 将监控 ThingWorx 节点,以确定各个节点是否按预期响应和运行。ZooKeeper 节点可构成仲裁并在 ThingWorx 节点离线时做出决策。当 ThingWorx Foundation 节点离线时,ZooKeeper 会重新配置 ThingWorx 负载平衡器,以将通信定向到其他 Foundation 节点。
PostgreSQL 数据库需要以下组件:
PostgreSQL 服务器节点 - 最少需要两个节点,理想状态为使用三个节点。
pgpool-II 节点 - 最少需要两个节点,理想状态为使用三个节点,这样即可在 PostgreSQL 服务器失败的情况下执行故障转移和恢复任务。这些节点可维护客户端 (ThingWorx) 与服务器 (PostgreSQL) 之间的连接,并管理 PostgreSQL 服务器节点之间的内容复制。
InfluxDB Enterprise 系统需要以下组件:
InfluxDB Enterprise 元节点 - 建议使用三节点设置,以便可达到仲裁,同时可让群集在一个节点出现故障时能够继续运行。
InfluxDB Enterprise 数据节点 - 可以使用一个节点,但建议最少使用两个。建议使用可被 InfluxDB 复制因子整除的节点计数。
有关在高可用性环境中部署 ThingWorx 的其他详细信息,请参阅 ThingWorx 高可用性
高可扩展性 + 高可用性群集
在此图中,群集的每个组件都驻留在其自己的物理计算机、虚拟机或容器中。这给单独扩展每组不同组件提供了最大灵活性。
组件列表
组件数
ThingWorx 连接
服务器
2..n
(基于设备计数)
负载平衡器
2 或 3 个实例:
将设备流量路由到连接服务器
路由 ThingWorx 节点之间的流量
路由 InfluxDB Enterprise 数据节点之间的流量 (如果使用)
ThingWorx Foundation 服务器
2 .. n:基于高可用性和可扩展性需求
网络化/企业存储
与所有 ThingWorx Foundation 服务器共享的 ThingWorx 存储信息库的磁盘空间。
Ignite
两个选项:
嵌入到 Foundation 进程中
2 个或更多单独节点 (具体取决于 HA 需求)
ZooKeeper
最少 3 个。服务配额应为奇数。
数据库
取决于数据库:
PostgreSQL:3 个数据库节点 + 2 个 pgpool-II 节点
MS SQL Server (未提供图片):最少 2 个,作为故障转移配置的一部分。
InfluxDB Enterprise
5 个 (或更多):
3 个元节点
2 个或更多数据节点,总计数可被复制因子整除
最小的群集内存占用量
在此图中,组件被打包或分组为一组较小的物理/虚拟机或容器。
此配置可用于高可用性环境,但与各组件共享资源的分布式配置相比,它的可扩展程度较低。
此图还可用于查看利用相同共享基础设施 (ZooKeeper、数据库、网络存储) 的多个独立 ThingWorx 部署。
组件列表 (每个群集节点)
组件数
ThingWorx Connection Server
1 (每个群集节点)
ThingWorx Foundation 服务器
1 (每个群集节点)
Ignite
无 - 在每个 Foundation Server 进程内以嵌入式模式运行。
组件列表 (共享)
组件数
负载平衡器实例
2 或 3 个实例:
将设备流量路由到连接服务器。
路由 ThingWorx 节点之间的流量。
路由 InfluxDB Enterprise 数据节点之间的流量 (如果使用)。
ZooKeeper
最少 3 个。服务配额应为奇数。
数据库
请见上图。
网络化/企业存储
与所有 ThingWorx Foundation 服务器共享的 ThingWorx 存储信息库的磁盘空间。
这对您有帮助吗?