每日一博 | 得物客服一站式工作台卡顿优化之路
原创|得物技术-余波 1. 背景 客服一站式工作台包含了在线、电话、工单和工具类四大功能模块。其中很多通用的模块,比如工单详情、订单详情都是通过iframe的形式嵌套的,在系统加载过程中会比较耗时,再加上在线消息通信模块强依赖tinode第三方SDK,很多方法都是直接调用tinode提供的API,同时也继承了tinode很多不合理的方式,从使用tinode到目前为止,因迭代资源的投入,一直没有对tinode源码做一些优化和改进,当消息通信的模式改成广播之后,会话卡顿问题就暴露出来了。 通过对tinode源码消息链路模块的阅读,发现了有不少的优化空间,本文则是针对消息链路这块阐述的具体优化实现。 2. 发现问题 2.1 消息数据处理流程存在缺陷 经过对tinode第三方SDK源码的阅读,发现其中客服在“接收”和“发送”消息的链路上有很大的优化空间,在原有的逻辑中,从发送消息到快速渲染页面再到tinode响应返回结果再去刷新渲染页面,以及客服接收到消息的时候,会对整个消息进行刷新,反序列化、排序、去重、状态处理等等,都需要多次的循环,再加上通信模式改为广播模式,大数据量循环任务,对于性能来...






