「腾讯会议」:面对业务指数级增长如何高效运维?

2022-01-23 15:56:10 浏览数 (1)

作者:chenbo

【用户说】

王成林——腾讯会议后台数据服务负责人

在我们深入使用CLS 的过程中,CLS的性能数据加工的简便性给我们留下了深刻印象。原来需要自建Kafka和Flink才能完成的需求现在CLS两分钟就可以搞定了!

【背景】

自2020年新冠肺炎爆发以来,疫情就深刻影响并改变着人们的社会生活方式,大部分企业开始尝试远程线上办公的新型工作方式,学校也开始推广直播授课的教育模式,在线会议需求出现指数级上升。

「腾讯会议」宣布疫情期间免费开放可支持300人同时在线的会议功能,极大地满足了用户需求。

经过疫情期间的考验和锤炼,腾讯会议无论是在用户规模还是计算资源方面都拥有非常庞大的体量。为提供稳定可靠的服务,需要运维人员通过日志和监控时刻关注系统健康情况,快速应对各种系统问题。

在如此“高标准严要求”的任务下,腾讯会议选择腾讯云CLS作为日志服务的解决方案,来应对快速增长的容量需求和功能/性能需求。

CLS拥有9个9的可靠性可检索延迟<5s,以及百亿数据秒级分析的能力。

本文将详细解读CLS在腾讯会议背后提供的技术支持。

【自建日志系统体验】

因为业务起步时间较早,在腾讯会议开始上云之前,业务支持方选择采用自建日志存储系统的方式。

但是随着业务量的数十倍爆发式增长,也遇到了很多之前没有预料到的问题:

1. 容量无法保证

自建服务需要业务方根据业务增长情况,提前进行资源采购和扩容,无法应对快速变化的业务情况。并且在节假日等业务低峰期和工作日整点高峰期会存在比较明显的波峰波谷情况,资源无法充分利用。

2. 自建日志系统功能较少

自建日志系统仅能完成基础的倒排索引检索相关需求,在可视化/监控告警复杂数据加工等场景无法满足用户进阶的日志数据使用需求。

3. 检索及存储问题

自建日志存储系统底层依赖于SATA盘的HDFS实现,检索性能较差。出于对存储成本的考虑,底层数据无副本,在极端情况下会遇到数据丢失的问题。

4. 采集速度慢

自建日志系统使用自研Agent,采集速度较慢,容易出现延迟数据丢失的问题。

因此在后续的整体上云过程中,腾讯会议对比了自建ELK和云上CLS日志服务的功能/性能/成本后,一致认可基于CLS进行日志上云, 充分发挥云的优势,让应用更好地生于云、长于云

【腾讯云日志服务CLS】

日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了按量付费自动扩容的能力, 服务包括日志采集、存储到检索、图表分析、监控告警、数据加工投递等,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题,大大降低日志运维门槛。

1. 性能稳定

目前CLS已稳定承载腾讯会议不断增长的PB级日志需求;  其中日志主题写入峰值达到300万QPS;单日志主题达1000亿条/天;日志写入延迟<3s

某业务模块日志体量不断增长某业务模块日志体量不断增长
性能对比性能对比

同时根据业务实测数据,CLS的LogListener采集器性能比老自建采集组件性能更好。

2. 成本优势

2.1  CLS 低频存储

腾讯会议在仅需简单使用日志的业务场景选择「CLS低频存储」功能,每个月可降低上百万存储成本

「低频存储」的定位是以低成本方案解决海量低频日志的检索和存储问题,适用于用户对日志无统计分析要求,且日志保存时间较长的场景。相对「CLS实时存储」可以降低80%的存储成本

「低频存储」提供全文检索、上下文检索、投递到对象存储(Cloud Object Storage, COS)、投递到 Ckafka、日志消费等功能,满足用户对历史日志的回溯检索、归档存储等诉求。需要注意的是,「低频存储」不支持 SQL 分析、监控告警、仪表盘等功能。

「CLS低频存储」详情请见:

https://cloud.tencent.com/document/product/614/60020

2.2  冗余日志清理

在接入CLS 的过程中,CLS团队与业务方共同梳理日志使用情况,在下图的案例中针对冗余内容进行过滤清理,降低了此模块99%的日志用量,进而极大地降低了日志数据费用

某服务接入CLS后清理冗余日志数据某服务接入CLS后清理冗余日志数据

3. 功能丰富

3.1  内嵌日志服务

在使用上,CLS 配合业务研发效能平台Coding,使用内嵌的方式将日志平台整合到工作台中,将应用/服务与日志主题逻辑绑定,用户使用无需登录腾讯云控制台,操作更加便捷。

「CLS内嵌日志服务控制台」详情请见:

https://cloud.tencent.com/document/product/614/45742

CLS内嵌展示CLS内嵌展示

3.2  数据加工

在初级的日志检索基础上,腾讯会议还使用了CLS的数据加工功能,完成客户端状态上报日志的筛选逻辑。

用户无需关注平台建设、运维以及复杂的Flink Java编程,简单、灵活、低成本地使用数据加工功能即可完成业务需求。

「CLS数据加工」详情请见:

https://cloud.tencent.com/document/product/614/63940

CLS数据加工功能DemoCLS数据加工功能Demo
用户自建数据加工逻辑架构用户自建数据加工逻辑架构

3.3  日志规整

针对历史组件打印的不规整日志,腾讯会议也借助CLS的数据加工能力完成了日志格式的格式化换行展示,极大地提升了用户的使用体验。

数据加工前数据加工前
数据加工后数据加工后
方案对比方案对比

【结语】

越来越多的内外部业务选择将核心系统日志及全量业务日志在腾讯云日志服务CLS上“安家”,CLS也不负所托,产品能力在客户成长历程中不断打磨和提升,帮助和见证用户在日志运维、运营、合规审计等业务方面实现跨越式发展。

上云的征程还未结束,我们还将继续和腾讯会议的研发、运维同学们一起深耕计算存储分离、成本压缩、性能提升等课题,让用户的研发运营效率更加高效!

以上就是关于CLS助力腾讯会议解决运维运营问题的案例分享,感谢阅读!

「腾讯会议」其他推送文章

0 人点赞