ThingWorx:部署架构

目录

1.Introduction
2.ThingWorx Foundation Deployment Components
3.ThingWorx Deployment Architecture
4.Standard Deployment:ThingWorx Foundation on Azure
5.Other Deployment:ThingWorx Foundation on AWS

一.Introduction

本指南介绍了ThingWorx的组件部署。本指南提供了通用的ThingWorx参考架构。

挑战

1.管理上千个设备的内容吞吐量
2.提供对资产(任何东西,产线到智能产品)性能的实时可见性
3.为终端用户提供远程监控和诊断服务,包括远程故障排除和自动创建警报和故障单
4.在故障发生之前预测

二.ThingWorx Foundation 部署组件

1.User/Client Components
2.Thing/Device Components
3.Platform Components
4.Database Components
5.High-Availability Components

分为以下三层:
1.Client layer
2.Application layer
3.Data layer


image.png
  • Things/Devices:这层包含things、devices、agents和assets。
  • Users/Clients:包含用户访问ThingWorx平台的产品(web 浏览器)。
  • Platform:Foundation,作为ThingWorx环境的中心。接收事物/设备层的内容,响应Client层的请求,分析内容以生成警报。
  • Database:包含以下形式数据:
    (1)运行时模型和它们的持久化属性
    (2)表类型数据,运行时模型将其作为blogs、streams、value streams和data tables进行保存。

1.User/Client Components

用户通过Composer或者mashup访问ThingWorx平台,需要支持HTML/HTML5的浏览器。

2.Thing/Device Components

(1)ThingWorx WebSocket-based Edge Microserver
       WS EMS支持在防火墙后的设备和数据存储安全的与ThingWorx server进行交流。WS EMS不只是一个简单的connector,它可以在edge端对数据进行智能预处理。
(2)ThingWorx Edge SDKs
       SDK提供了一个框架,可以安全的从边缘设备发送数据到ThingWorx平台。这个框架包含类、对象函数、方法以及变量。

3.Platform Components

(1)ThingWorx Connection Server
       这是一个服务器应用程序,可以方便地连接远程设备,并处理所有与设备之间的消息路由。其提供了一些功能,比如使用ThingWorx通信协议在WebSockets上实现可伸缩的连接。
       PTC建议在超过25000个资产时使用connection server连接到Foundation server。
       每个connection server建议同时支持100000个连接。

(2)Tomcat
(3)ThingWorx Foundation Server
       Foundation为M2M以及IoT应用提供了完整的设计、运行以及智能环境。Foundation被设计为高效的创建、运行以及开发应用,这些应用连接了远端资产,例如设备、机器、传感器以及工业装备。
       Foundation是ThingWorx环境的中心。当对资产建立模型后,它们就可以与Foundation进行交流。

(4)PTC System Monitor
       这是一个独立的应用,用来监控系统性能。

4.Database Components

       ThingWorx提供了可插拔的数据存储模型,允许用户选择对其合适的数据库。
       Value Streams、Streams、Data Tables、Blogs、Wikis被定义为Data provider。Data Provider用来存储runtime data。runtime data是连接的设备用来存储它们的数据(例如温度、湿度)
       Model Provider用来存储Things的元数据。Persistence Provider可以包含data provider以及model provider

Data Provider有如下两点主要功能:
(1)维护ThingWorx模型。以下数据被建议用于model provider:

  • H2和PosgreSQL
  • SAP HANA
  • SQL Server

(2)保存写入到value stream中的内容:

  • 支持的数据库都可以保存value stream
  • DSE系统可以获得更好的数据写入效率

5.High-Availability Components

       高可用组件需要在application layer和database layer使用高可用组件才可以完成。对于ThingWorx的高可用,ZooKeeper是附加的组件。对于database layer的高可用,需要根据data provider的不同提供不同的高可用方案。

四.ThingWorx部署架构

(1)部署选项
(2)Foundatin相关架构

1.部署选项

(1)本地部署
(2)PTC云服务部署
       使用托管服务部署,将ThingWorx部署在第三方服务器上,通常在私有云中。

2.ThingWorx Foundation架构

       以下章节描述了从简单部署架构到全球联邦产品架构。

(1)ThingWorx Foundation 基础测试系统

       下图展示了一个测试版的系统。所有组件都安装在一台server上。


image.png
(2)ThingWorx Foundation 基础生产系统

       生产系统建议将数据库放在另一台server上。


image.png
(3)ThingWorx Foundation 大型生产系统

       除了生产组件外,大型生产系统还包含ThingWorx Connection Server以及DSE集群。
       DataStax系统将来自资产的数据到日其时间序列类型数据库。也就是记录在Value Stream中的内容。PostgreSQL存储model。


image.png
(4)ThingWorx Foundation 高可用系统

以下组件是必须的:

  • 高可用负载均衡器,将请求转发到active的平台
  • 主平台
  • 备平台
  • 三个ZooKeeper节点


    image.png

五.ThingWorx Foundation在Azure上的部署

(1)Azure 组件及服务
(2)架构
(3)ThingWorx Azure IoT Connector 部署

1.Azure 组件及服务

(1)Regions
       Azure资源物理位置。
(2)Availability Zones
       region中的区域。用来支持高可用部署。
(3)Availability Sets
       Availability Zones中分离的资源。
(4)Virtual Network
       虚拟网络用于配置逻辑网络拓扑、定义子网、配置路由表和分配私有IP范围。
(5)VM instances
       Azure中的虚拟机。存放ThingWorx平台中的关键组件,例如Connection Server,platform以及Zookeeper。
(6)Application Gateways
       将流量引导不同的VM实例上。
(7)Azure databases
       Azure提供的PaaS数据库。
(8)Azure Files
       文件存储系统。

2.架构

(1)生产部署


image.png

image.png

3.ThingWorx Azure IoT Connector 部署

       Azure IoT Hub Connector包含一个connection server、Azure IoT Hub Adapter以及一个Azure IoT Hub Adapter 扩展。这个包允许运行使用Azure SDK开发的应用程序的远程设备连接到ThingWorx平台。Azure IoT Hub Connector通过Azure系统路由来自设备的消息。也路由平台到设备的消息。

包含以下组件
(1)Azure IoT Components
  • Azure IoT Hub——一种完全托管的服务,能够在数以百万计的物联网设备和后端解决方案(如ThingWorx)之间实现可靠和安全的双向通信。
(2)ThingWorx Azure IoT Hub Connector

       Azure IoT Hub Connector整合了使用Azure IoT SDK的设备及Foundaion。其包含以下组件:

  • 包含Azure IoT Hub Adapter的ThingWorx Connection Server,它用来处理Azure IoT Hub与Foundation之间的消息传递。
  • 一个Azure IoT Hub Adapter Extension,支持ThingWorx中的Azure entities。
  • ThingWorx Connection Server Extension,提供了Connection Services Hub。

       安装Azure IoT Hub Connector后,可以使用Composer将Azure IoT entities导入,表示你的设备。或者,可以将Azure IoT Hub的数据导入到ThingWorx。当你配置了设备连接到Azure IoT Hub后,Azure IoT Hub Connector会侦测到数据,并将其推入Foundation。

相关架构

       下图展示了一个高可用的Foundation部署,其利用了Azure IoT Connectors去访问Azure IoT Hub。这种部署方式有以下特性:

  • 设备向Azure IoT Hub发送内容。
  • ThingWorx Azure IoT Connectors与Azure IoT Hub进行通信并从设备读取消息,并将消息存储在ThingWorx中。
  • ThingWorx Azure IoT Connectors向active的Foundation server提交内容,通过Azure Application Gateway。


    image.png

六.ThingWorx Foundation在AWS上的部署

(1)AWS 组件及服务
(2)架构
(3)ThingWorx AWS IoT Connector 部署

1. AWS 组件及服务

(1)Regions
       AWS资源的物理位置。
(2)Availability Zones
       region中的区域。用来支持高可用部署。
(3)Virtual Private Cloud
       虚拟私有云(VPC)用于配置逻辑网络拓扑、定义子网、配置路由表和分配私有IP范围。
(4)EC2 Computing instances
       EC2 Computing instances用于托管ThingWorx平台的关键组件:Connection Server以及platform。
(5)Application Load Balancing
       应用程序负载平衡(ALB)自动将传入的应用程序流量分布到多个Amazon EC2实例。
(6)RDS databases
       AWS提供的数据库。
(7)Elastic File System
       AWS提供的文件系统。

2.架构

(1)生产系统部署
image.png
(2)企业部署
image.png
(3)高可用部署
image.png

3.ThingWorx AWS IoT Connector 部署

       AWS IoT Connector提供了从Foundation到与AWS device cloud连接的远程设备间的连通性。

(1)组件
①AWS IoT Components

       AWS IoT 为AWS云和其连接的事物(传感器、设备、智能应用)提供了安全、双向的连接。这允许您从多个设备收集、存储和分析遥测数据。

  • IoT MQTT Broker——为物联网应用程序和AWS提供了一种安全机制,以便彼此发布和接收消息。可以使用MQTT协议或通过WebSocket之上的MQTT协议进行发布和订阅。也可以使用REST接口来发布。
  • IoT Rule Engine——提供与其他AWS服务间的消息处理和集成。可以使用基于sql的语言从消息有效负载中选择数据、处理数据并将数据发送到其他服务,比如ThingWorx。
  • Amazon Kinesis——允许您收集、处理和分析实时流数据,以获得及时的见解和对新信息的快速反应。
  • Device Shadow——一个JSON文档,用来存储和检索thing的当前状态信息。
②ThingWorx AWS IoT Components
  • ThingWorx AWS IoT Connector——包含了ThingWorx Foundation connection server、AWS IoT Adapter以及AWS IoT Adapter Extension。
(2)架构

       下图是Foundation的高可用部署,其利用ThingWorx AWS IoT Connectots访问AWS IoT。

  • 设备将数据发送到AWS IoT。
  • ThingWorx AWS IoT Connectors连接到Kinesis shard,从设备读取消息并存储。


    image.png
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,980评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,178评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,868评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,498评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,492评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,521评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,910评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,569评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,793评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,559评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,639评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,342评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,931评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,904评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,144评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,833评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,350评论 2 342

推荐阅读更多精彩内容