当前位置: X-MOL 学术IEEE Trans. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Long Live the Image: On Enabling Resilient Production Database Containers for Microservice Applications
IEEE Transactions on Software Engineering ( IF 6.5 ) Pub Date : 2024-08-01 , DOI: 10.1109/tse.2024.3436623
Zheng Li 1 , Nicolás Saldías-Vallejos 2 , Diego Seco 3 , María Andrea Rodríguez 2 , Rajiv Ranjan 4
Affiliation  

Microservices architecture advocates decentralized data ownership for building software systems. Particularly, in the Database per Service pattern, each microservice is supposed to maintain its own database and to handle the data related to its functionality. When implementing microservices in practice, however, there seems to be a paradox: The de facto technology (i.e., containerization) for microservice implementation is claimed to be unsuitable for the microservice component (i.e., database) in production environments, mainly due to the data persistence issues (e.g., dangling volumes) and security concerns. As a result, the existing discussions generally suggest replacing database containers with cloud database services, while leaving the on-premises microservice implementation out of consideration. After identifying three statelessness-dominant application scenarios, we proposed container-native data persistence as a conditional solution to enable resilient database containers in production. In essence, this data persistence solution distinguishes stateless data access (i.e., reading) from stateful data processing (i.e., creating, updating, and deleting), and thus it aims at the development of stateless microservices for suitable applications. In addition to developing our proposal, this research is particularly focused on its validation, via prototyping the solution and evaluating its performance, and via applying this solution to two real-world microservice applications. From the industrial perspective, the validation results have proved the feasibility, usability, and efficiency of fully containerized microservices for production in applicable situations. From the academic perspective, this research has shed light on the operation-side micro-optimization of individual microservices, which fundamentally expands the scope of “software micro-optimization” and reveals new research opportunities.

中文翻译:


形象万岁:为微服务应用程序启用弹性生产数据库容器



微服务架构提倡构建软件系统的去中心化数据所有权。特别是,在每个服务数据库模式中,每个微服务都应该维护自己的数据库并处理与其功能相关的数据。然而,在实践中实现微服务时,似乎存在一个悖论:微服务实现的事实上的技术(即容器化)被声称不适合生产环境中的微服务组件(即数据库),主要是由于数据持久性问题(例如,悬空卷)和安全问题。因此,现有的讨论通常建议用云数据库服务替换数据库容器,而不考虑本地微服务实现。在确定了三种无状态主导的应用场景后,我们提出了容器原生数据持久化作为在生产中启用弹性数据库容器的条件解决方案。从本质上讲,这种数据持久化解决方案将无状态数据访问(即读取)与有状态数据处理(即创建、更新和删除)区分开来,因此旨在为合适的应用程序开发无状态微服务。除了开发我们的提案之外,这项研究还特别关注其验证,通过对解决方案进行原型设计并评估其性能,并将该解决方案应用于两个现实世界的微服务应用程序。从工业角度来看,验证结果证明了全容器化微服务在适用场景下生产的可行性、可用性和效率。 从学术角度来看,该研究揭示了单个微服务的运营侧微优化,从根本上扩展了“软件微优化”的范围,并揭示了新的研究机会。
更新日期:2024-08-01
down
wechat
bug