本文以石墨文档为例,介绍如何借助函数计算毫秒级别的资源伸缩能力,解决计算资源扩容问题,降低服务器成本,提高工作效率。
客户介绍
石墨文档是中国第一款支持云端协作的企业办公服务软件,2014年成立至今,石墨文档已累计为超过20万家企业提供了产品和服务,其功能类比于Google docs、Quip等软件,可以实现多成员多终端的在线实时协作,同步响应速度达到毫秒级,是团队协作的最佳选择。 石墨文档还是一款具有中国式美感的科技产品,2015年进入极客公园最佳互联网创新产品50强。
客户痛点
为了支持实时协作编写,技术团队对Operational Transformation算法进行深入地探索和修改,将维度从一维拓展到二维,解决了一段文字被多个客户端同时修改所引起的冲突合并问题。但石墨文档仍面临以下挑战:
- 多用户的实时修改对服务器的要求比较高。
- 用户敲击键盘输入一个文字只需要几毫秒,当多用户在石墨文档上同时编写文档时,很容易出现在短时间段内数据分布不均的情况。
石墨文档需要一套弹性高可用的服务来实时处理文档编辑冲突,该服务需满足以下需求:
- 低成本。
- 负载突增时平滑处理峰值负载,满足文档在毫秒级别的同步响应。
解决方案
函数计算是阿里云提供的Serverless计算平台,可以根据请求量动态分配执行环境,毫秒级调度计算资源,在负载高时保持稳定的延时;在负载低时有较高的资源利用率,且只对代码运行时使用的计算资源付费。石墨文档通过函数计算借助公有云Serverless架构搭建文档实时编辑服务,将文档实时协作的逻辑实现为函数,由函数计算的智能调度系统自动分配执行环境,处理多用户同时编写文档带来的峰值负载。函数计算的动态扩缩容能力保障应用的可靠运行。
使用效果
- 降低成本:石墨文档借助函数计算毫秒级别的资源伸缩能力,解决了早晚高峰负载突增的计算资源扩容问题,相较于自建机房维护服务器,提高了资源利用率,减少了闲置资源的浪费,降低了服务器成本。
- 提高效率:石墨文档借助函数计算,开发人员只需集中精力与产品团队合作,无需考虑CPU密集型计算的负载均衡问题,不断提升业务价值,加快项目的迭代与上线的步伐,极大地提高了开发效率和进程稳定性。