1、?CONTENTS01什么是物联网平台02为什么需要反应式架构03我们做了什么什么是物联网平台什么是物联网平台Sensor/ActuatorPlatformApplicationNetwork物联网平台的构成Message HubDevice ShadowRules EngineDeveloper InterfaceSecurityDevicesMessage HubDevice ShadowRules EngineSecurity&IdentityMessage QueueStorageRESTFul APIIoT Applications单体的逻辑架构DevicesIoT Applicat
2、ionsLoad BalanceNginxWeb ConsoleMySQLMongoDB ReplicaRedis ClusterEMQ Cluster IoT PaaS Service Cluster EMQ Node1EMQ Node2EMQ Node3EMQ NodeN.Node1Node2Node3Node4NodeN.MQTT ClientDevice ManagementDevice ShadowRules EngineTenant&UserCertificate为什么需要反应式架构设备影子业务说明1.设备上报状态2.将上报状态持久化到数据库3.应用查询上报的状态4.应用设置期望的
3、状态6.期望状态和上报状态的 差异(delta)同步至设备7.设备上报新的状态8.将新的上报状态持久化到数据库5.将期望状态持久化到数据库 “state”:“desired”:,“reported”:“color”:“GREEN”,“state”:“ON”,“version”:10 设备影子业务说明1.设备上报状态2.将上报状态持久化到数据库3.应用查询上报的状态4.应用设置期望的状态6.期望状态和上报状态的 差异(delta)同步至设备7.设备上报新的状态8.将新的上报状态持久化到数据库5.将期望状态持久化到数据库 “state”:“desired”:“color”:“RED”,“repor
4、ted”:“color”:“GREEN”,“state”:“ON”,“delta”:“color”:“RED”,“version”:11 设备影子业务说明1.设备上报状态2.将上报状态持久化到数据库3.应用查询上报的状态4.应用设置期望的状态6.期望状态和上报状态的 差异(delta)同步至设备7.设备上报新的状态8.将新的上报状态持久化到数据库5.将期望状态持久化到数据库 “state”:“desired”:“color”:“RED”,“reported”:“color”:“RED”,“state”:“ON”,“version”:12 设备影子处理逻辑DevicesMongoDB Repli
5、ca Redis Cluster EMQ NodeNodeX IoT ApplicationsFindShadowSetDesiredSaveShadowCalcDeltaUpdateDeltaSyncDeltaversion“$DeviceName_delta”:“node”:“NodeX”,“delta”:NodeY FindShadowSetDesiredSaveShadowCalcDeltaUpdateDeltaSyncDeltaWeb Console问题及应对之道灵活性弹性资源竞争每次局部业务更新都需要重新部署整个集群局部业务性能瓶颈,弹性扩容所有业务加锁处理资源竞争,增加性能消耗微
6、服务事件驱动我们做了什么EVENT STORMINGEVENT STORMING核心通用支撑DeltaSyncService 事件驱动DevicesMongoDB Replica EMQ NodeNodeX IoT ApplicationsFindShadowSetDesiredSaveShadowCalcDeltaSendDeltaEventSyncDeltaRedis Cluster“$DeviceName_delta”:“delta”:新的逻辑架构DevicesIoT