腾讯文档业务上云,Serverless 架构应用优秀实践

腾讯文档业务上云,Serverless 架构应用优秀实践

作者:佚名 2021-09-13 18:09:59

云计算 腾讯文档整个技术体系内集成了许多微服务为腾讯文档提供业务支持,比如 图像识别、SSR、截图、文档预览 等,这些微服务需要从效率和成本需求出发考虑解决方案,以实现可扩展、易维护、降低开发成本的目标。

近两年,国内文档类 SaaS 产品层出不穷,协作云文档作为云时代办公的一种工具和方式。与传统的离线办公软件不同,协作云文档更加注重协作的沟通和效率,同时作为工具类产品也同样关注性能和体验。就在不久以前,《一个救命文档的 24 小时》刷屏朋友圈,在河南暴雨灾情中,腾讯文档快速响应灾区需要,提升稳定性,确保产品体验。

腾讯文档脱胎于 QQ 家族旗下一款团队协作 IM 软件 TIM 的在线文档模块,最初基于开源软件搭建的技术架构,随着业务的高速发展,已无法完全满足业务的需求,且积累下了比较沉重的技术债务。团队经过慎重的讨论,决定从底层开始,分模块,逐步重构整个技术体系。在技术迭代的过程中,团队也在不断探索和尝试业内一些先进成熟的技术解决方案。

腾讯文档整个技术体系内集成了许多微服务为腾讯文档提供业务支持,比如 图像识别、SSR、截图、文档预览 等,这些微服务需要从效率和成本需求出发考虑解决方案,以实现可扩展、易维护、降低开发成本的目标。伴随着公司自研上云的浪潮,在近来的开发中,团队在多个微服务项目中深入使用 腾讯云 Serverless 架构,满足了业务的需求,取得了不错的效果。

01.腾讯文档 x Serverless 云函数 多场景应用

1. 应对流量高峰低谷

办公类产品是有明显的流量潮汐的,比如上午 8 点到 12 点,下午 2 点到 6 点这几个时段是流量比较大的时候,其他时间段尤其是凌晨没什么流量。随着用户量快速增加,这种潮汐规律尤为明显,高峰时期海量用户的实时修改对服务器造成巨大的压力。

传统架构下可以通过增加虚拟机,实现应用的可扩展。但由于预估容量不足,导致业务流量高峰期时,大量用户出现请求超时的情况,这意味着品牌声誉受损、用户流失。虽然可以通过创建虚拟机实例的方式进行扩容,但是仍然要做很多额外的配置。应用底层有很多依赖的框架或语言运行时需要安装,安装完成之后还需要配置和部署应用,这个周期至少需要 1-2 个小时,这种情况下传统的部署架构无法做到资源与流量的匹配。

Serverless 解决方案腾讯文档借助 Serverless 云函数搭建文档页面直出服务,将文档的内容渲染能力实现为函数,部署在云函数环境上,当文档业务流量激增,由云函数的负载均衡系统自动分配执行环境,处理海量用户触发的内容更新请求负载,动态扩缩容能力为微服务提供最合理的资源分配。同时通过设置云函数预置并发,可预先启动多个函数实例,保持云函数的活性,消除冷启动,降低在运行环境初始化和业务代码初始化产生的耗时。

 

 

 

2. SSR 前端渲染

腾讯文档自推出以来,已达千万月活,为了支持用户打开页面时能快速看到页面内容,浏览器直接解析 HTML 直出的字符串模版显示页面,流量激增导致集群负载、前端渲染压力增加,首屏加载时间慢等问题。SSR 团队需要实现一套弹性高可用性的直出解析服务来处理文档和表格的页面内容,满足可扩展、易维护、降低开发成本 的目标。文档的渲染能力几乎都是前端同学在负责,而前端同学大多服务端知识积累比较浅,对于服务的开发运维经验比较少,长期的运维成本是新的架构设计重要的评估维度,从而让前端团队可以更加聚焦于业务逻辑本身。

Serverless 解决方案SSR(Server-Side Rendering)需要依赖 Node.js 服务渲染页面,显然会比仅仅提供静态文件的 CSR(Client-Side Rendering)应用需要占用更多服务器 CPU 资源,借助 Serverless 方案,前端同学无需关注 SSR 服务器的部署、运维和扩容,通过云函数对底层服务进行封装,极大地减少部署运维成本,更加聚焦业务开发,提高开发效率。

 

 

 

 

全新 Serverless Web Funciton 服务开发模式,只需简单修改监听端口,即可将目前流行的 Node.js 框架直接部署上云,享受 Serverless 技术带来的免运维、低成本、按需扩缩容的众多优势,欢迎体验。

3. 外部服务调用 – OCR 图像识别

腾讯文档幻灯片支持编辑公式的能力,OCR 图像识别是腾讯文档幻灯片结合外部的 OCR 服务能力来完成文档内的公式图片转换为公式,进而方便用户进行公示编辑。问题点在于:外部提供的 OCR 服务做了限制,不支持前端请求,仅支持服务端请求。传统的解决方案需要后台同学接入,进而增加了人员排期、对接等项目管理的复杂度。

Serverless 解决方案腾讯文档将外部提供的 OCR 用云函数 SCF 做一层转发,腾讯文档再对接联调云函数的接口。解决了外部服务的限制,同时节省了后台开发资源,前端业务开发同学可以自己快速对接上外部服务,大大提升了开发效率。

 

 

 

 

4. 插件中心 – 第三方服务接入

腾讯文档插件 1.0 的方案是基于对文档前端封装到前端插件 SDK 的方案,在内部插件业务严重耦合文档实现的前提下,无法将文档能力以安全、成体系的方式对外提供,持续去开放前端文档的编辑的能力,会使前端 SDK 和文档侧的实现逐步变得臃肿,最后有可能会在变成巨石应用上长期存在的技术债务。

Serverless 解决方案插件 2.0 方案的核心是基于后台内容编辑的能力开放,利用文档的数据响应式的更新机制,云函数便成为 前端 – 云函数 – 后台内容编辑 中关键环节,将开放的实现从前端剥离,通过云函数承载进行开放。同时,不同服务的调用量级不同,云函数带有天然的服务隔离和动态修复能力,可针对不同服务相互隔离,分别进行升级拓展,避免服务间的影响。

 

 

 

5. 灰度发布 & 环境隔离

在进行应用版本更新及切换时,为了保证线上整体系统业务稳定,及时发现业务代码的问题,研发团队会采取灰度发布的方式测试迭代。通过云函数针对特定的版本进行逐步的流量切换,可以实现某个版本的平滑灰度,保证新上线的版本能够 在可控的范围能进行发布迭代。

通过云函数版本隔离测试环境和生产环境,线上通过对 $LASTEST 进行版本的固化,可以把测试环境的 API 网关对接到 TEST 版本,将生产环境对接都固化的版本上,保证生产环境的代码质量安全。

 

 

 

02.Serverless 架构方案优势 研发效率提升

本地开发测试后,触发 CI/CD 流程,就可以完成部署流程。同时,云函数提供了日志监控、灰度、发布回滚等能力,可以通过接口或者插件实现完全自动化的流程。云函数基于腾讯云专业的保障集群,自带负载均衡和弹性伸缩,开发同学基本不需要再关心运维等问题,可以有更多的时间聚焦业务的优化。服务端经验较少的前端开发工程师也可以较为轻易的开发维护服务。

成本节约

云函数实现 1ms 计费粒度,按实际用量计费,帮忙用户获得显著的成本优势,在没有访问量时实现自动缩容,节约部署成本。

灵活度高

凭借腾讯云函数的多版本能力,可以灵活部署多个在线版本,通过和网关的配合的,轻松做到多版本共存,提供定制化的处理能力。

加速业务迭代

使用 Serverless 方案之后,极大减少了运维和监控的负担,开发同学可以把更多的精力放在方案的优化和技术迭代中,快速验证产品特性,推动团队技术业务的发展。

03.腾讯文档 x Serverless 架构 更多场景探索

当下浏览器环境是有性能瓶颈的,对于较为复杂的异步逻辑可以考虑使用云函数将逻辑服务化,接下来,腾讯文档计划对前端浏览器逻辑 Fass 化,可以从前端分离到服务端,进而降低浏览器性能压力。

在协作办公的赛道上,团队业务还在快速的成长,面对快速变化的技术迭代,低成本、快速开发、快速部署、快速上线的 Serverless 解决方案成为了团队在微服务技术选型中优先考虑的架构。借助云函数 SCF 的能力,团队不用再担心后台计算资源的问题,可以更加有信心应对更多突如其来的事件。未来,随着腾讯文档开放平台的建设,会有更多的使用云函数 SCF 的微服务跑在腾讯文档的业务中,为广大用户提供更好的服务。 

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/231718.html<

(0)
运维的头像运维
上一篇2025-04-19 20:13
下一篇 2025-04-19 20:14

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注