The Adaptable TeaStore has recently been proposed as a reference model for adaptable microservice architectures. It includes different configurations, as well as scenarios requiring to transition between them. We describe an implementation of the Adaptable TeaStore based on AIOCJ, a choreographic language that allows one to program multiparty systems that can adapt at runtime to different conditions. Following the choreographic tradition, AIOCJ ensures by-construction correctness of communications (e.g., no deadlocks) before, during, and after adaptation. Adaptation is dynamic, and the adaptation scenarios need to be fully specified only at runtime. Using AIOCJ to model the Adaptable TeaStore, we showcase the strengths of the approach and its current limitations, providing suggestions for future directions for refining the paradigm (and the AIOCJ language, in particular), to better align it with real-world Cloud architectures.
翻译:可适应性TeaStore近期被提出作为可适应性微服务架构的参考模型。该模型包含多种配置方案,以及需要在不同配置间进行转换的场景。我们描述了一种基于AIOCJ的可适应性TeaStore实现方案,AIOCJ是一种编排语言,可用于编程能够在运行时根据不同条件进行自适应调整的多方系统。遵循编排范式传统,AIOCJ能确保系统在适应调整前、中、后各阶段的通信过程具有构造正确性(例如无死锁)。适应过程是动态的,且适应场景仅需在运行时完全指定。通过使用AIOCJ对可适应性TeaStore进行建模,我们展示了该方法的优势与当前局限,并为完善该范式(特别是AIOCJ语言)提出了未来改进方向,以使其更贴合实际云架构需求。