返回
基于Fluid的计算存储分离实践:TKE用户故事 | 作业帮检索服务
见解分享
2023-12-21 10:00:34
1. 背景介绍
作业帮是全球知名的在线教育独角兽,专注于k12在线教育辅导。作业帮旗下的作业帮学而思网校、作业帮直播课和作业帮智能硬件三个核心业务产品,月活用户超 1.5 亿。
作业帮旗下智能题库是业界最大的中小学题库之一,收录题目超过10亿道,单题检索量每天超过1000万次。
作业帮检索服务致力于为公司内部及外部用户提供单题检索服务。检索服务下游服务包括作业帮学而思网校、作业帮直播课、作业帮智能硬件等,此外,公司内部其他业务部门也可以通过检索服务接口来搜索题目。
2. 面临的挑战
在作业帮检索服务实践中,作业帮面临着诸多挑战:
- 检索性能差。 检索服务采用传统的三副本架构,检索性能瓶颈较为明显。
- 服务稳定性差。 检索服务采用三副本架构,当其中一个副本出现故障时,服务会受到影响。
- 服务弹性差。 检索服务采用三副本架构,当检索请求量激增时,服务会受到影响。
- 成本高。 检索服务采用三副本架构,成本较高。
3. 基于Fluid的计算存储分离实践
作业帮在检索服务上采用了基于Fluid的计算存储分离方案,该方案的架构图如下:
在该方案中,作业帮将检索服务的计算层和存储层分离,并将存储层部署在Fluid上。
Fluid是CNCF毕业项目,它是一个分布式云原生文件和块存储系统,可以为Kubernetes提供持久的存储服务。Fluid可以提供高性能、高可用、弹性伸缩的文件存储和块存储服务。
作业帮在检索服务上使用Fluid作为存储层,可以获得以下好处:
- 高性能。 Fluid可以提供高性能的存储服务,可以满足检索服务对性能的要求。
- 高可用。 Fluid可以提供高可用的存储服务,可以保证检索服务的高可用性。
- 弹性伸缩。 Fluid可以提供弹性伸缩的存储服务,可以满足检索服务对弹性的要求。
- 成本低。 Fluid可以提供低成本的存储服务,可以降低检索服务的成本。
4. 实践效果
作业帮在检索服务上采用了基于Fluid的计算存储分离方案,取得了以下效果:
- 检索性能提升。 检索服务的检索性能提升了2倍。
- 服务稳定性提升。 检索服务的稳定性得到了提升,服务故障率降低了50%。
- 服务弹性提升。 检索服务的弹性得到了提升,服务可以自动伸缩,以满足检索请求量的变化。
- 成本降低。 检索服务的成本降低了30%。
5. 总结
作业帮在检索服务上采用了基于Fluid的计算存储分离方案,取得了良好的效果。该方案可以提升检索服务的性能、稳定性、弹性和成本,非常适合于对性能、稳定性、弹性和成本有较高要求的场景。