海量设备消息高性能处理实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 海量设备消息高性能处理实践
涂鸦智能 高级架构师 / 舒铭
2.
3. 大纲
业务介绍
•
• Tuya IoT PaaS架构介绍
• 架构升级演进历程
• 面临的技术挑战
• 总结&未来展望
4. 全球化 IoT 开发平台服务商
5. IoT PaaS 与 IoT 开发平台 赋能全球超 58.2 万家
制造业/零售商/运营商/地产社区/养老/酒店租住/工农业等生态客户
6. 平台技术指标
150
<10
万/秒
Tuya IoT PaaS设备请求处理次数(高峰)
毫秒/每次
Tuya IoT PaaS平均响应时间
7. 大纲
业务背景
•
• Tuya IoT PaaS架构介绍
• 架构升级演进历程
• 面临的技术挑战
• 总结&未来展望
8. Tuya IoT PaaS简介
9. Tuya IoT PaaS简介
平台特点
• 兼容全球主流云厂商
• 提供标准化设备接入、设备管
理、场景自动化能力
• 开放的设备生态支持
• 多租户支持
10. 设备连接平台简介
11. 全球统一多云部署架构
全球部署
• 全球6大数据中心
• 服务全球200+国家用户
• 就近接入
隐私合规
符合GDPR、CCPA等
全球安全隐私合规要求
12. 大纲
业务背景
•
• Tuya IoT PaaS架构介绍
• 架构升级演进历程
• 面临的技术挑战
• 总结&未来展望
13. 设备消息处理链路
特点
• 自研MQTT Broker
• 基于Erlang开发
• 单集群并发连接数1亿
• 软实时,热更新
14. 基于ARM架构的优化
C5.4XLarge
M5.4XLarge
C6g.4XLarge
40%
M6g.4XLarge
40.00% 40.00%
30%
27.00% 27.00%
20%
19.00% 19.00%
性能 200%
成本 80%
性价比 2.5x
以上数据基于AWS Graviton2测试
10.00% 10.00%
10%
1.00%
0%
1.10%
0.52%
1万
0.50%
20万
单机连接数
30万
15. MQTT over QUIC
QUIC(Quick UDP Internet Connection,快速UDP网络连接),Google提出的使用UDP进行多路并发传输的协议。
QUIC对比目前普遍使用的TLS(TCP)协议,可以有效减少握手时间,改进拥塞控制,避免队头阻塞。
目前广泛应用于移动端APP⻓链接场景,可有效提升App控制设备、以及弱网环境下的使用体验。
16. 设备影子
定义
设备影子是设备在云端的虚拟映射,用于记录和存
储设备最新的上报值和期望值。
特点
• 通常是K-V结构存储。
• 写多读少,写读比高。
• 读实时性要求高。
17. 设备影子存储引擎选型
2018年以前 2018~2019年 2020年至今
主从延迟大、成本高 动态扩容难、社区不活跃 性能、成本、稳定性符合预期
18. 设备影子性能优化
优化策略
• 设备影子尽量访问同可用区数据节点,减
少跨区访问流量。
• 设备影子存储格式压缩,减少网络传输和
存储空间。
核心改造点
• 将TiKV的region均匀分布至3个可用区。
• 扩展TiKV Client,实现同可用区优先策略。
• 采用Protobuf替换Fastjson序列化。
19. 设备消息精准投递
业务背景
上报主链路消息量大,但对
于设备量级较小的业务场
景,如果接收全量的设备消
息,会带来不必要的机器成
本和负载压力。
20. 设备消息精准投递
事件网关,提供通用的事件过滤,加工,分发能力。业务方通过控制台或API在事件网关上注册订阅规
则,事件网关将满足条件的事件信息转发到业务配置的独立消费通道(topic)中。
21. 设备消息精准投递
技术挑战
设备上报消息中,通常只包含设备id以及变
化的状态值等初始信息。但业务方需要更多
信息(如设备所属的产品类别),作为过滤
条件进行消息提取。
优化策略
以插件的方式扩展消息上下文,并建立上下文
参数的关系依赖图谱。
使原本简单的消息,通过能力增强后可以补全
各种业务关联信息,满足复杂过滤诉求。
22. 设备消息精准投递
技术挑战 优化策略
如何在数百万条业务规则中,高效准确的选出有 借助布隆过滤器的性能优势,实现高效的规则
效规则,对业务进行精准过滤。 匹配,平均命中耗时 < 1ms。
23. 大纲
业务背景
•
• Tuya IoT PaaS架构介绍
• 架构升级演进历程
• 面临的技术挑战
• 总结&未来展望
24. 异常设备上报
问题描述
随着业务的高速发展,设备消息上报量也在成倍增⻓,但经过数据分析发现设备数和消息量的增速和
我们的预期存在一定的偏差。短时间内大量的重复值上报通常对业务无实用价值,同时带来了云端资
源的浪费损耗。
原因分析
• 某款产品,所有设备上报频率相比同品类其他产品,标准值偏高。
• 某款产品,个别设备在使用阶段发生故障,短时间内频繁上报大量数据。
25. 异常设备上报
时间窗口限流
设备在特定的时间窗口内上报重复的属性值消息,在云端将被过滤。
时间窗口限制算法:
• interval 时间间隔
• duration 持续时间
如右图所示,interval 120s,duration 5s,持续上报频率降至1/24。
不足:简单粗暴,过滤机制存在概率性,容易丢弃有价值消息。
26. 异常设备上报
设备精准限流
• 基于时间窗口策略,对设备进行自动化的
异常识别,减少人工干预。
• 通过分级策略,极大的降低正常设备被误
杀概率。
• 周期性滚动清理,自动试探并释放恢复正
常的设备。
• 可弹性调整的时间窗口⻓度,业务更具扩
展性。
27. 大规模设备瞬时重连之运营商网络故障
应对策略
•
设备端优化断线重连机制,离
散重连请求和重试频率。
•
MQTT网关优化连接策略,避
免请求集中在单个节点。
核心机制
•
业务指标可观测性,心中有底。
中国区某时段各省市用户设备下线情况监控
28. 大规模设备瞬时重连之云服务商故障
应对策略
• 实时监控预警,人工介入。
• 自动化弹性扩容,自动引流。
• 非核心请求降级,保核心链路。
核心机制
• 充分利用云服务商多可用区特性。
• 标准化作业流程SOP手册。
29. 大纲
业务背景
•
• Tuya IoT PaaS架构介绍
• 架构升级演进历程
• 面临的技术挑战
• 总结&未来展望
30. 总结&未来展望
总结
• 没有银弹,技术要结合业务场景落地,找到最合适的用法。
• 降本增效,是架构优化的立足点。
• 细节决定成败。
展望
• 如果设备数量再增10倍,架构优化的突破点在哪。
• 始于公有云,探索私有云、混合云的研发效率之道。
31.
32.