Microservices Orchestration vs. Choreography: A Decision Framework

被引:8
作者
Megargel, Alan [1 ]
Poskitt, Christopher M. [1 ]
Shankararaman, Venky [1 ]
机构
[1] Singapore Management Univ, Sch Comp & Informat Syst, Singapore, Singapore
来源
2021 IEEE 25TH INTERNATIONAL ENTERPRISE DISTRIBUTED OBJECT COMPUTING CONFERENCE (EDOC 2021) | 2021年
关键词
microservices; orchestration; choreography; event-based; invocation-based; service-oriented architecture;
D O I
10.1109/EDOC52215.2021.00024
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Microservices-based applications consist of loosely coupled, independently deployable services that encapsulate units of functionality. To implement larger application processes, these microservices must communicate and collaborate. Typically, this follows one of two patterns: (1) choreography, in which communication is done via asynchronous message-passing; or (2) orchestration, in which a controller is used to synchronously manage the process flow. Choosing the right pattern requires the resolution of some trade-offs concerning coupling, chattiness, visibility, and design To address this problem, we propose a decision framework for microservices collaboration patterns that helps solution architects to crystallize their goals, compare the key factors, and then choose a pattern using a weighted scoring mechanism In cases where there is no clear preference, a hybrid pattern is suggested which inherits some strengths of both choreography and orchestration. We demonstrate the framework by evaluating the needs of three industry case studies (Danske Bank, LGB Bank, Netflix), showing that it leads to appropriate patterns being suggested. We are not aware of any existing decision frameworks to guide solution architects in choosing a microservices collaboration pattern.
引用
收藏
页码:134 / 141
页数:8
相关论文
共 24 条
[1]  
ALHADITHI M, 2019, INT J WEB SEMANTIC T, V10, P1
[2]  
Ali M., 2021, THESIS
[3]  
Baraiya V., 2016, NETFLIX CONDUCTOR MI
[4]  
Camilli M, 2017, INT C SOFTW ENG FORM, P187
[5]  
Cerny T, 2017, APPL COMPUT REV, V17, P29, DOI [10.1145/3183628.3183631, 10.1145/3129676.3129682]
[6]  
Evans Eric, 2004, Domaindriven design: tackling complexity in the heart of software
[7]  
Frey F.J., 2015, P 18 EUR C PATT LANG, P10
[8]  
Goossens B., 2019, DECISION MAKING MICR
[9]  
Griffin P.R., 2019, HDB RES BLOCKCHAIN A
[10]   Service Cutter: A Systematic Approach to Service Decomposition [J].
Gysel, Michael ;
Kolbener, Lukas ;
Giersche, Wolfgang ;
Zimmermann, Olaf .
SERVICE-ORIENTED AND CLOUD COMPUTING, (ESOCC 2016), 2016, 9846 :185-200