From 98b06749ed3a44add5a3bbc98bcafc7b471d9136 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ola=20H=C3=A4llvall?= Date: Mon, 29 Apr 2024 06:42:25 -0500 Subject: [PATCH] choreography stuff --- .../Orchestration of microservices.excalidraw | 959 ++++++++++++++++++ Docs/Saga-Orchestrator.png | Bin 0 -> 65256 bytes Docs/Saga-Synchronous-choreography.png | Bin 0 -> 59892 bytes README.md | 35 + 4 files changed, 994 insertions(+) create mode 100644 Docs/Orchestration of microservices.excalidraw create mode 100644 Docs/Saga-Orchestrator.png create mode 100644 Docs/Saga-Synchronous-choreography.png diff --git a/Docs/Orchestration of microservices.excalidraw b/Docs/Orchestration of microservices.excalidraw new file mode 100644 index 0000000..4251665 --- /dev/null +++ b/Docs/Orchestration of microservices.excalidraw @@ -0,0 +1,959 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "rectangle", + "version": 232, + "versionNonce": 1978313066, + "index": "a0", + "isDeleted": false, + "id": "ME17XIs0_gjCoADGLP32_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 846.3999938964844, + "y": 496.2001037597656, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 140.79998779296875, + "height": 59.99995422363281, + "seed": 2058728822, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "_k-0U1zcuzz91iCJAjR0-", + "type": "arrow" + } + ], + "updated": 1714388441746, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 449, + "versionNonce": 1944770282, + "index": "a4", + "isDeleted": false, + "id": "lKa3f3aWK0MoTFoyUcizq", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1002.4001159667969, + "y": 611.5998764038086, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 221.59994506835938, + "height": 91.20002746582031, + "seed": 1194018038, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "_k-0U1zcuzz91iCJAjR0-", + "type": "arrow" + }, + { + "id": "OwyTw4ADhyfbX9eqr3GXR", + "type": "arrow" + }, + { + "id": "PSI4OeWQ1VrPNU0_KgJm0", + "type": "arrow" + } + ], + "updated": 1714388441746, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 417, + "versionNonce": 312152554, + "index": "a5", + "isDeleted": false, + "id": "rQNzda5MxKoNXnKl9YuxM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1238.4000244140625, + "y": 504.59996795654297, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 141.60003662109378, + "height": 59.99995422363281, + "seed": 1043406314, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "OwyTw4ADhyfbX9eqr3GXR", + "type": "arrow" + }, + { + "id": "PSI4OeWQ1VrPNU0_KgJm0", + "type": "arrow" + } + ], + "updated": 1714388441746, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 273, + "versionNonce": 1425743722, + "index": "a7", + "isDeleted": false, + "id": "0vQDHZnyJI4muDrRYGylW", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1046.3999633789062, + "y": 446.20003509521484, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "width": 136.79998779296878, + "height": 59.99995422363281, + "seed": 205524150, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "OwyTw4ADhyfbX9eqr3GXR", + "type": "arrow" + } + ], + "updated": 1714388441746, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 266, + "versionNonce": 1440074986, + "index": "a8", + "isDeleted": false, + "id": "OYpzHlklrz6BaFl7HT4ry", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 860.7999572753906, + "y": 516.3000640869141, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 111.0079345703125, + "height": 20, + "seed": 734465002, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1714388441746, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Microservice A", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Microservice A", + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 219, + "versionNonce": 606117802, + "index": "a9", + "isDeleted": false, + "id": "WE7dCReeBRHmrLytiemI6", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1255.220100402832, + "y": 524.2000122070312, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 110.81593322753906, + "height": 20, + "seed": 1990945782, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1714388441746, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Microservice C", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Microservice C", + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 223, + "versionNonce": 1862474346, + "index": "aA", + "isDeleted": false, + "id": "zmT_xqrnVZNwoUl_dR_O_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1060.819953918457, + "y": 467.7999572753906, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 112.14393615722656, + "height": 20, + "seed": 2069554154, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1714388441746, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Microservice B", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Microservice B", + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 478, + "versionNonce": 1503277558, + "index": "aB", + "isDeleted": false, + "id": "_k-0U1zcuzz91iCJAjR0-", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 916.5629502111817, + "y": 564.2000122070312, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 71.49227066942495, + "height": 46.13997339857508, + "seed": 776401014, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1714388442152, + "link": null, + "locked": false, + "startBinding": { + "elementId": "ME17XIs0_gjCoADGLP32_", + "focus": 0.5057719269669437, + "gap": 7.9999542236328125 + }, + "endBinding": { + "elementId": "lKa3f3aWK0MoTFoyUcizq", + "focus": -0.2895313810172197, + "gap": 14.344895086190263 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 71.49227066942495, + 46.13997339857508 + ] + ] + }, + { + "type": "arrow", + "version": 566, + "versionNonce": 1206037622, + "index": "aC", + "isDeleted": false, + "id": "OwyTw4ADhyfbX9eqr3GXR", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1119.5559952979395, + "y": 509.9986893294705, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 0.005170923846662845, + "height": 86.4000244140625, + "seed": 923309546, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1714388442152, + "link": null, + "locked": false, + "startBinding": { + "elementId": "0vQDHZnyJI4muDrRYGylW", + "focus": -0.06956047308531067, + "gap": 3.798700010622838 + }, + "endBinding": { + "elementId": "lKa3f3aWK0MoTFoyUcizq", + "focus": 0.057282872276016014, + "gap": 15.2011626602756 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -0.005170923846662845, + 86.4000244140625 + ] + ] + }, + { + "type": "arrow", + "version": 615, + "versionNonce": 1026459382, + "index": "aD", + "isDeleted": false, + "id": "PSI4OeWQ1VrPNU0_KgJm0", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1232.5929384604087, + "y": 609.0418174974952, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 66.31479980725817, + "height": 33.84305492583718, + "seed": 667488758, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1714388442152, + "link": null, + "locked": false, + "startBinding": { + "elementId": "lKa3f3aWK0MoTFoyUcizq", + "focus": 0.12504505108611638, + "gap": 8.592877425252482 + }, + "endBinding": { + "elementId": "rQNzda5MxKoNXnKl9YuxM", + "focus": -0.5344801403549025, + "gap": 10.598840391482327 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 66.31479980725817, + -33.84305492583718 + ] + ] + }, + { + "type": "text", + "version": 369, + "versionNonce": 963039082, + "index": "aE", + "isDeleted": false, + "id": "JwEHvqR1UX4zFp6gKdEYY", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1021.3920211791992, + "y": 637, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 188.30389404296875, + "height": 40, + "seed": 1455862058, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1714388515555, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Orchestrator for \nMicroservice A, B and C", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Orchestrator for \nMicroservice A, B and C", + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 219, + "versionNonce": 1676892202, + "index": "aF", + "isDeleted": false, + "id": "wKCUDvFaArl5vEkvOs8vQ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 839.1999816894531, + "y": 740.9999694824219, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 593.1837158203125, + "height": 40, + "seed": 803706026, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1714388441746, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Orchestration is a way to coordinate sagas where a centralized \ncontroller tells the saga participants what local transactions to execute.", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Orchestration is a way to coordinate sagas where a centralized \ncontroller tells the saga participants what local transactions to execute.", + "lineHeight": 1.25 + }, + { + "type": "rectangle", + "version": 293, + "versionNonce": 1126561642, + "index": "aG", + "isDeleted": false, + "id": "SnmnyQ9iRiVX_IeCgzThn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 163.5998077392578, + "y": 242.60007858276367, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 140.79998779296875, + "height": 59.99995422363281, + "seed": 286141558, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "EKR5QUtyRCqJM7NLoIi8v", + "type": "arrow" + }, + { + "id": "QwNp7pHUxJK-neT7TOmYO", + "type": "arrow" + } + ], + "updated": 1714388175793, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 505, + "versionNonce": 699233334, + "index": "aH", + "isDeleted": false, + "id": "E4GSAyHpfoi5itxpAM9Ef", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 470.39988708496094, + "y": 217.59994888305664, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 141.60003662109378, + "height": 59.99995422363281, + "seed": 717041078, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "dUII7v1DpkpDHP0613S_A", + "type": "arrow" + }, + { + "id": "QwNp7pHUxJK-neT7TOmYO", + "type": "arrow" + } + ], + "updated": 1714388153032, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 402, + "versionNonce": 1906322218, + "index": "aI", + "isDeleted": false, + "id": "kuWww17W-ySSM_cRCWR12", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 377.79978942871094, + "y": 408.80002212524414, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "width": 136.79998779296878, + "height": 59.99995422363281, + "seed": 1366951670, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "id": "EKR5QUtyRCqJM7NLoIi8v", + "type": "arrow" + }, + { + "id": "dUII7v1DpkpDHP0613S_A", + "type": "arrow" + } + ], + "updated": 1714388182664, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 338, + "versionNonce": 363599146, + "index": "aJ", + "isDeleted": false, + "id": "C8cPqkrZZmerbaZH00Nor", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 177.99977111816406, + "y": 262.7000389099121, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 111.0079345703125, + "height": 20, + "seed": 1439283254, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1714388175795, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Microservice A", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Microservice A", + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 304, + "versionNonce": 242970282, + "index": "aK", + "isDeleted": false, + "id": "43pSI4Dm8b6CaXYYBdQci", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 487.21996307373047, + "y": 237.19999313354492, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 110.81593322753906, + "height": 20, + "seed": 798048630, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1714387834693, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Microservice C", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Microservice C", + "lineHeight": 1.25 + }, + { + "type": "text", + "version": 349, + "versionNonce": 1183707370, + "index": "aL", + "isDeleted": false, + "id": "BZ9I-KAdzZDoSyH_Jv_T2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 392.2197799682617, + "y": 430.3999443054199, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 112.14393615722656, + "height": 20, + "seed": 303407798, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1714388182665, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Microservice B", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Microservice B", + "lineHeight": 1.25 + }, + { + "type": "arrow", + "version": 565, + "versionNonce": 570091690, + "index": "aM", + "isDeleted": false, + "id": "EKR5QUtyRCqJM7NLoIi8v", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 239.95054051912675, + "y": 313.92868355669657, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 129.36105085624573, + "height": 125.15069790258917, + "seed": 418252650, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1714388182665, + "link": null, + "locked": false, + "startBinding": { + "elementId": "SnmnyQ9iRiVX_IeCgzThn", + "focus": 0.36461413636763257, + "gap": 11.328650750300085 + }, + "endBinding": { + "elementId": "kuWww17W-ySSM_cRCWR12", + "focus": -0.7763561478542554, + "gap": 8.488198053338408 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + 129.36105085624573, + 125.15069790258917 + ] + ] + }, + { + "type": "arrow", + "version": 690, + "versionNonce": 1977894442, + "index": "aN", + "isDeleted": false, + "id": "dUII7v1DpkpDHP0613S_A", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 570.8011336771709, + "y": 285.9491414452449, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 49.548834449428455, + "height": 141.25101773359575, + "seed": 479712182, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1714388182665, + "link": null, + "locked": false, + "startBinding": { + "elementId": "E4GSAyHpfoi5itxpAM9Ef", + "focus": -0.529999407252109, + "gap": 8.349238338555438 + }, + "endBinding": { + "elementId": "kuWww17W-ySSM_cRCWR12", + "focus": 0.8993950784483993, + "gap": 6.652522006062782 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -49.548834449428455, + 141.25101773359575 + ] + ] + }, + { + "type": "arrow", + "version": 834, + "versionNonce": 1694626410, + "index": "aO", + "isDeleted": false, + "id": "QwNp7pHUxJK-neT7TOmYO", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 462.7381966549532, + "y": 244.47247675607287, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ebfbee", + "width": 149.7077110200281, + "height": 29.09468053054792, + "seed": 1552877302, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1714388175795, + "link": null, + "locked": false, + "startBinding": { + "elementId": "E4GSAyHpfoi5itxpAM9Ef", + "focus": 0.42573816976904283, + "gap": 7.661690430007752 + }, + "endBinding": { + "elementId": "SnmnyQ9iRiVX_IeCgzThn", + "focus": 0.3737529775766249, + "gap": 8.630690102698509 + }, + "lastCommittedPoint": null, + "startArrowhead": "arrow", + "endArrowhead": "arrow", + "points": [ + [ + 0, + 0 + ], + [ + -149.7077110200281, + 29.09468053054792 + ] + ] + }, + { + "id": "yOPxIIvwbYt_BV1RjUy1E", + "type": "text", + "x": 335.1998291015625, + "y": 322.69994735717773, + "width": 196.6558837890625, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aP", + "roundness": null, + "seed": 687954602, + "version": 173, + "versionNonce": 299669866, + "isDeleted": false, + "boundElements": null, + "updated": 1714388126252, + "link": null, + "locked": false, + "text": "Synchronous choreography\nconnections", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Synchronous choreography\nconnections", + "lineHeight": 1.25 + }, + { + "id": "-AzQMO4PbAOUk_5nM8XkZ", + "type": "text", + "x": 103.599853515625, + "y": 524.1999473571777, + "width": 625.8556518554688, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "aQ", + "roundness": null, + "seed": 1170399530, + "version": 127, + "versionNonce": 1515185002, + "isDeleted": false, + "boundElements": null, + "updated": 1714388476308, + "link": null, + "locked": false, + "text": "Synchronous choreography is a way to coordinate sagas where participants\nmakes direct calls between each others without a centralized point of control.", + "fontSize": 16, + "fontFamily": 1, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Synchronous choreography is a way to coordinate sagas where participants\nmakes direct calls between each others without a centralized point of control.", + "lineHeight": 1.25 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/Docs/Saga-Orchestrator.png b/Docs/Saga-Orchestrator.png new file mode 100644 index 0000000000000000000000000000000000000000..8df6e5810ece7eee973a1e2c7e98d794bf786caf GIT binary patch literal 65256 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%0A{&xepwg(u|fNW+E&;HbNt&oqN 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 A&j0`b literal 0 HcmV?d00001 diff --git a/Docs/Saga-Synchronous-choreography.png b/Docs/Saga-Synchronous-choreography.png new file mode 100644 index 0000000000000000000000000000000000000000..41e40005904146f61fc91a4f3db424fbd22a2355 GIT binary patch literal 59892 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

fgAGqFbg4ZQf~^9#()oiNwS$QbP8) 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 139cbcc..d1536f6 100644 --- a/README.md +++ b/README.md @@ -57,10 +57,45 @@ In the image below, we have replaced `System.Transactions.TransactionScope` with ![Synchronous choreography-based call chains supported by FlowDance](Docs/synchronous-choreography-based-call-chains-with-span.png) +**The Saga Pattern** +The Saga Pattern is an architectural approach used to manage data consistency across microservices in distributed transaction scenarios. +Here are the key points: +*The Saga pattern breaks down a transaction into a series of local transactions. +*Each local transaction is performed by a saga participant (a microservice). +*After updating the database, the participant publishes an event to trigger the next local transaction. +*If a local transaction fails, a series of compensating transactions are executed to reverse the changes made by preceding transactions. + +The Saga Pattern can basically be devided into two types; choreography and orchestration. + +1. Choreography +In choreography, participants (microservices) exchange calls without relying on a centralized point of control. +There is no central orchestrator; instead, the interactions emerge from the calls exchanged between the participants which results in call chains. + +![Saga - Choreography](Docs/Saga-Synchronous-choreography.png) + +2. Orchestration +In orchestration, an orchestrator (object) takes charge of coordinating the saga. The orchestrator explicitly instructs participants on which local transactions to execute. +Participants follow the prescribed workflow dictated by the orchestrator. + +![Saga - Orchestrator](Docs/Saga-Orchestrator.png) + +Which one to choose? As always; it depends! + +FlowDance try to take the best of them both. +The CompensationSpan let us keep the call chain (synchronous choreography) we use in the system today. We donĀ“t have to break out a new central orchestrator in our code. + +In the back-end of FlowDance we use AzureFunctions and its support for running orchestrations. +FlowDance have a saga called CompensatingSaga that will dictated participants when to make a compensating transaction. + +![Synchronous choreography-based call chains supported by FlowDance](Docs/synchronous-choreography-based-call-chains-with-span.png) + + **A CompensationSpan in detail** A CompensationSpan ... + + ## This is Where the Magic Happens FlowDance consist of two main parts; FlowDance.Client and FlowDance.AzureFunctions tied together with RabbitMQ.