中文

基于工作流引擎的微服务编排论证

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

摘要

微服务已成为云原生应用事实上的软件架构。微服务中一个有争议的架构决策是使用编排或合唱式(choreography)来组合服务。在合唱式中,每个服务独立工作;而在编排中,存在一个协调服务交互的控制器。本文论证了编排的合理性。微服务的承诺在于每个微服务可独立开发、部署、测试、升级与扩展,这使其适用于运行在云基础设施上的系统。然而,基于微服务的系统因各种服务的复杂交互、并发事件、组件故障、开发者缺乏全局视图以及环境配置而变得复杂,这使得此类系统的维护与调试极具挑战。我们假设编排式服务更易于调试,为验证此点,我们将最大的公开可用微服务基准 TrainTicket(采用合唱式实现)移植到容错无感知有状态工作流框架 Temporal。我们报告了将代码从传统合唱式微服务架构移植到由 Temporal 编排的架构的经验,并给出了对该基准中 22 个缺陷调试时间的初步发现。我们的发现表明,向编排方式过渡的努力是值得的,使移植后的代码更易于调试。

关键词

引用

@article{arxiv.2204.07210,
  title  = {A Case for Microservices Orchestration Using Workflow Engines},
  author = {Anas Nadeem and Muhammad Zubair Malik},
  journal= {arXiv preprint arXiv:2204.07210},
  year   = {2022}
}

备注

5 pages, International Conference on Software Engineering 2022 (NIER) Track