论文标题

使用工作流引擎的微服务编排的案例

A Case for Microservices Orchestration Using Workflow Engines

论文作者

Nadeem, Anas, Malik, Muhammad Zubair

论文摘要

微服务已成为用于云本地应用程序的事实上的软件体系结构。微服务中有争议的建筑决定是使用编舞或编排来组成它们。在编舞中,每种服务都独立起作用,而在编排中,有一个控制器协调服务交互。本文为编排提供了理由。微服务的承诺是,每个微服务都可以独立开发,部署,测试,升级和缩放。这使它们适合在云基础架构上运行的系统。但是,由于各种服务,并发事件,失败的组件,开发人员缺乏全球视图以及环境配置的复杂相互作用,基于微服务的系统变得复杂。这使维护和调试此类系统非常具有挑战性。我们假设精心策划的服务更容易进行调试,并且为了测试这一点,我们将最大的公开可用的微服务的基准三位票(使用编舞实施)放到了典型的状态工作流程框架的时间内。我们报告了从传统编排的微服务体系结构到暂时策划的代码的经验,并提出了我们初步的时间发现,以调试基准中存在的22个错误。我们的发现表明,要过渡到精心策划的方法是值得的,这使得端口代码更容易进行调试。

Microservices have become the de-facto software architecture for cloud-native applications. A contentious architectural decision in microservices is to compose them using choreography or orchestration. In choreography, every service works independently, whereas, in orchestration, there is a controller that coordinates service interactions. This paper makes a case for orchestration. The promise of microservices is that each microservice can be independently developed, deployed, tested, upgraded, and scaled. This makes them suitable for systems running on cloud infrastructures. However, microservice-based systems become complicated due to the complex interactions of various services, concurrent events, failing components, developers' lack of global view, and configurations of the environment. This makes maintaining and debugging such systems very challenging. We hypothesize that orchestrated services are easier to debug and to test this we ported the largest publicly available microservices' benchmark TrainTicket, which is implemented using choreography, to a fault-oblivious stateful workflow framework Temporal. We report our experience in porting the code from traditional choreographed microservice architecture to one orchestrated by Temporal and present our initial findings of time to debug the 22 bugs present in the benchmark. Our findings suggest that an effort towards making a transition to orchestrated approach is worthwhile, making the ported code easier to debug.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源