技术
亚太地区
中小企业/初创企业
“语雀将音视频处理服务从视频点播迁移到函数计算后,压缩比大幅提升,减少了不必要的转码。由此,语雀降低了80%的成本。”
何一愚
语雀技术总监
关于语雀
语雀是面向团队文档协作的专业云端知识库,是阿里巴巴员工撰写文档、沉淀知识的重要工具,自2018年起正式商用。
挑战
语雀使用 Node.js 实现全部服务端逻辑。在某些场景下,可能会消耗大量 CPU 资源或因死循环导致进程阻塞。以用户输入数据转换为 Markdown 格式为例,转换代码根据用户输入自动生成,低质量输入可能导致转换代码效率低下甚至陷入死循环。Node.js 问世仅十余年,至今尚未找到完善的解决方案。即使是 Java 等多线程语言也无法解决。因此,CPU 使用异常是语雀亟需解决的问题,毕竟 CPU 是 Web 应用的重要资源。
为什么选择阿里云
从零开始构建Serverless平台需要专业的IT团队和大量预算,同时还需要成熟的服务生态来支撑Serverless架构的实现。阿里云提供稳定的Serverless基础设施,由X-Dragon架构、沙箱容器、盘古存储和洛神网络组成。此外还提供丰富的Serverless云服务和开发者工具,包括函数计算、事件总线EventBridge、Serverless Workflow、开发者框架、命令行工具和Web IDE等。其中,函数计算被Forrester Wave评为Strong Performer。
架构
视频转码服务需要大量CPU计算资源,自建视频转码集群会造成大量资源浪费。使用视频点播成本高且可管理的资源有限。函数计算通过应用中心集成FFmpeg,提供音视频处理能力,并结合日志服务实现监控和数据分析。语雀将音视频处理服务从视频点播迁移到函数计算后,压缩比提升,减少了不必要的转码,成本降低80%。
展望未来
语雀将音视频处理服务迁移到函数计算后,架构以单体应用为核心,独立功能根据场景和能力需求采用微服务或 Serverless 架构实现。确定应用架构时,需考虑团队人员构成和用户业务形态。随着基础设施和云服务的不断完善,语雀开发团队拥有更多选择,将持续优化架构。
