论文标题
应用程序级缓存的定性研究
A Qualitative Study of Application-level Caching
论文作者
论文摘要
基于Internet的服务的延迟和成本鼓励使用应用程序级缓存来继续满足用户的需求,并提高原始服务器的可扩展性和可用性。尽管它很受欢迎,但这种缓存级别涉及开发人员的手动实施,并且通常以临时方式解决,鉴于它取决于应用程序的特定细节。结果,应用程序级缓存是一项耗时且容易出错的任务,成为常见的错误来源。此外,IT迫使应用程序开发人员推理与应用程序业务逻辑无关的横切关注。在本文中,我们介绍了一项定性研究的结果,该研究涉及开发人员如何处理其Web应用程序中的缓存逻辑,该研究涉及对具有不同特征的十个软件项目的调查。我们设计的研究基于接地理论的比较和互动原理,对数据的分析使我们能够提取和了解开发人员如何解决与高速缓存相关的关注点,以提高其Web应用程序的性能和可扩展性。基于我们的分析,我们得出了指南和模式,这些指南和模式在设计,实施和维护应用程序级的缓存时指导开发人员,从而支持开发人员执行这项充满挑战的任务,这对于企业Web应用程序至关重要。
Latency and cost of Internet-based services are encouraging the use of application-level caching to continue satisfying users' demands, and improve the scalability and availability of origin servers. Despite its popularity, this level of caching involves the manual implementation by developers and is typically addressed in an ad-hoc way, given that it depends on specific details of the application. As a result, application-level caching is a time-consuming and error-prone task, becoming a common source of bugs. Furthermore, it forces application developers to reason about a crosscutting concern, which is unrelated to the application business logic. In this paper, we present the results of a qualitative study of how developers handle caching logic in their web applications, which involved the investigation of ten software projects with different characteristics. The study we designed is based on comparative and interactive principles of grounded theory, and the analysis of our data allowed us to extract and understand how developers address cache-related concerns to improve performance and scalability of their web applications. Based on our analysis, we derived guidelines and patterns, which guide developers while designing, implementing and maintaining application-level caching, thus supporting developers in this challenging task that is crucial for enterprise web applications.