聊聊实时数据传输服务中遇到的挑战
随着网络础设施的完善,叠加5G、物联网等技术的发展,应用内社交、音视频通话、互动直播、AIoT等需求侧迎来爆发。在最近火爆的元宇宙、Web3.0等概念的大背景下,能为用户提供传输性能更优、应用场景更全的产品将是未来主流趋势。
近日,我们邀请云上曲率实时数据传输服务研发负责人赵健军,为我们从技术角度来解读实时数据传输服务遇到的一些挑战;以及云上曲率自主研发的实时数据传输服务,在应对这些挑战的过程中采取的策略。以下为健军的执笔内容:
首先简单介绍一下云上曲率自主研发的全球实时数据传输服务(RTM),汇集了团队在数据传输领域十余年的技术积累和运营维护经验,在全球化、低时延、复杂网络环境等“苛刻”需求和条件下,性能和稳定性仍被众多头部企业客户所肯定。下面笔者结合自研产品遇到的坑,罗列了一些数据传输产品服务研发过程中的经验。
一、磨刀不误砍柴工,打好基础再开工
即时通信看似简单,无非是长连接的维护和数据的路由。可实际应用中要考虑的因素太多:
- 网络框架和协议编码直接影响传输时延和效率;
- 长连接承载能力和请求处理能力决定了应对峰值时的稳定性;
- TCP、不可靠UDP、可靠UDP……这些传输层协议都需要分场景支持;
- HTTP、HTTPS、WebSocket……多平台下这些应用层协议都要具备;
- 服务端升级更新,客户端调用接口如何灰度兼容;
- 传输过程中的数据安全如何保证;
……
FPNN是一个通用RPC框架,支持IPv4/IPv6环境,二进制私有协议。支持TCP、UDP,可靠/不可靠UDP数据混合发送,同一端口可支持多种协议(TCP/HTTP/WebSocket),军用级密钥交换及加密算法等。
根据性能测试数据,FPNN框架的性能指标远超其他开源RPC框架,其内置的可靠UDP协议性能指标甚至超越了著名的KCP、谷歌的QUIC等,简直可以称之为“国货之光”。
正是有了好用的底层框架加持,云上曲率实时数据传输服务才能在性能上处于行业内领先地位。
目前FPNN框架及相关生态已经正式开源,感兴趣的开发者可关注我们的GitHub地址:
https://github.com/highras/fpnn (内附详细的功能介绍和测试数据)
二、世界那么大,活儿好不用怕 全球化赛道,数据跨国、跨洲传输场景将进一步延伸,如何优化通信链路、实现信息远距离高质量传输将成为新的挑战。然而受区域经济产业能力、地缘政治、不可抗力等因素影响,全球网络基础设施分布及链路质量呈现不平衡分布和两级分化。欠发达地区与发达地区通信质量难以保障,诸如06年台湾海峡地震造成区域骨干网中断事件也时有发生,作为一个全球化的数据传输产品,面对这种情况该如何应对?
云上曲率的实时数据传输服务,依托自研的链路优化及容灾策略算法,可根据实际用户分布情况动态增加边缘节点,融合专线及各类加速产品,尽可能减少网络基础设施差异对用户造成的影响。智能的链路优化算法,能够在面对区域网络故障时动态选择备用链路,优先保证业务的可用性。如果是出海业务,还要具备全球化的相关经验和硬件支持。
三、两手都要抓,两手都要硬 除了服务端优秀的策略与开发框架,科学合理的客户端SDK,对提高用户体验也有着重要作用。
用户实际所处的网络环境复杂多变,各种诡异的连通性问题层出不穷。内网或区域性DNS故障、网络设备的安全策略或合规审查、运营商的访问限制、区域性网络故障……任何不可控因素都可能造成终端用户接入服务失败,小编罗列了一些实际运营中观测到的终端用户网络异常行为:
- A域名不能正常解析,B域名却没问题;
- 域名能正常解析,IP却无法连通;
- 业务端口无法正常连通,80/443端口却没问题;
- HTTP/HTTPS访问没问题,TCP/UDP通讯却被限制;
- 公开已知协议的TCP请求正常,私有协议却被限制;
- 连通后不明原因的断线、丢包、延迟飙高;
……
在这些场景下,只有客户端SDK中集成科学而合理的异常处理能力,才能提高终端用户连通率,解决最后一厘米的问题。
我们的处理方式是,实时数据传输服务客户端SDK中,集成了多种优化连通性的处理策略:备选接入点转换、标准/非标端口切换、传输协议退化、连接质量动态评测与切换等,提高终端用户在复杂网络环境下的连通性,根据统计数据显示,在网络异常时可提高接入成功率50%以上。
四、人在江湖走,兜里货得有 全球化即时通讯类产品,高度依赖翻译、审核、语音识别等AI技术。传统的接入流程中,需要外采第三方翻译、审核等服务,对接周期长、用户体验差。试想在发送一张十几M的图片时,需要先在几家服务商的合规审核接口中传来传去,最后才能发送到另一端,想想都为用户感到难过……
而在云上曲率时数据传输服务中,无缝集成了全部自研的实时翻译、内容审核、语音识别、语音翻译等增值服务,可实现自动实时翻译、自动违规内容审核与拦截等常规操作,大大简化了开发者额外工作,一站式闭环生态,让开发者们都流出了幸福的泪水……
【聊聊实时数据传输服务中遇到的挑战】云上曲率实时数据传输服务,提供即时通信、实时音视频、信令传输、状态同步等基础通讯能力,覆盖互动游戏、社交娱乐、在线直播、跨境电商等多种场景解决方案,在多款知名的全球化游戏和其他产品服务,如FunPlus的《阿瓦隆之王》、火遍欧美的《State of survival》等SLG游戏中,已稳定运行超过6年,支持每日千亿级,每秒千万级的数据吞吐量。全球化能力获得工程实践上的成功与稳定性验证,这是值得开发者研究或直接接入的。
推荐阅读
- 基于Confluent+Flink的实时数据分析最佳实践
- 数据传输 | 利用 DTLE 将 MySQL 数据同步到 DBLE
- 聊聊|聊聊 Webpack 插件系统的关键实现 Tapable
- ElasticSearch7.3|ElasticSearch7.3 学习之生产环境实时重建索引
- 协程面试题(聊聊Job和SupervisorJob的区别)
- WebSocket在实时语音识别中的应用
- Android|Android 12(S) 图形显示系统 - 简单聊聊 SurfaceView 与 BufferQueue的关联(十三)
- 数据可视化|3【源码】数据可视化(基于 Echarts +Java SpringBoot 实现的动态实时大屏范例-物联网)
- 性能指标、响应时间、并发量…聊聊性能优化的衡量指标
- KunlunDB指导手册(四)之从Oracle实时同步数