中文

Histrio:一个无服务器Actor系统

分布式、并行与集群计算 2024-10-30 v1 软件工程

摘要

近年来,无服务器范式已被广泛用于开发云应用,因为它能够构建可扩展的解决方案,同时将基础设施管理和资源供应等操作问题委托给无服务器提供商。尽管带来了无可争议的优势,但无服务器模型需要改变编程范式,这可能会增加软件开发的复杂性。特别是在函数即服务(FaaS)范式中,函数本质上是无状态的。因此,开发人员需要直接与外部存储服务交互,并处理跨函数调用的并发性和状态一致性。这导致用于解决实际业务问题的时间减少。基于这些前提,本文提出了 Histrio,一个简化在 FaaS 范式中开发复杂有状态应用的编程模型和执行环境。Histrio 基于 Actor 编程模型,并将状态管理、数据库交互和并发处理等问题从开发人员身上剥离。它丰富了 Actor 模型,增加了简化和优化与外部存储交互的功能。它保证了精确一次处理一致性,这意味着应用的行为始终如同与外部客户端的任何交互都只处理了一次,且仅处理一次,从而掩盖了故障。Histrio 已与经典的 FaaS 实现进行了比较,以评估由于系统提供的保证而节省的开发时间以及 Histrio 在典型应用中的适用性。在评估的场景中,Histrio 通过显著减少处理操作问题所需的代码量来简化实现。它被证明是可扩展的,并提供了在性能和执行成本之间进行权衡的配置机制。

关键词

引用

@article{arxiv.2410.21793,
  title  = {Histrio: a Serverless Actor System},
  author = {Giorgio Natale Buttiglieri and Luca De Martini and Alessandro Margara},
  journal= {arXiv preprint arXiv:2410.21793},
  year   = {2024}
}