{"type":"excalidraw","version":2,"source":"https://AwesomeSystemDesign.dev","elements":[{"angle":0,"strokeColor":"#6577aa","backgroundColor":"#eef1fc","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-1"}],"updated":0,"link":null,"locked":false,"id":"shape-0","type":"rectangle","seed":41,"x":16,"y":16,"width":288,"height":93.2,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-1"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-1","type":"text","seed":114,"x":36,"y":34,"width":248,"height":57.2,"fontSize":22,"fontFamily":1,"text":"USE Event-Driven\nWhen:","originalText":"USE Event-Driven\nWhen:","textAlign":"left","verticalAlign":"middle","containerId":"shape-0","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":1}},{"angle":0,"strokeColor":"#628572","backgroundColor":"#edf5ee","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-3"}],"updated":0,"link":null,"locked":false,"id":"shape-2","type":"rectangle","seed":187,"x":16,"y":153.2,"width":288,"height":779.6,"customData":{"revealStep":2}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-2"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-3","type":"text","seed":260,"x":36,"y":171.2,"width":248,"height":743.6,"fontSize":22,"fontFamily":1,"text":"✅ Multiple services\nneed to react to\nthe same event\n(OrderPlaced →\npayment, inventory,\nnotification,\nanalytics)\n✅ Services should be\nindependently\ndeployable and\nscalable\n✅ You need an audit\ntrail / event sourcing\n✅ Temporal\ndecoupling: producer\ndoesn't need\nimmediate response\n✅ You're building\nread-optimized views\n(CQRS)\n✅ Data\nsynchronization\nacross systems\n(CDC)\n✅ Long-running\nworkflows (sagas)","originalText":"✅ Multiple services\nneed to react to\nthe same event\n(OrderPlaced →\npayment, inventory,\nnotification,\nanalytics)\n✅ Services should be\nindependently\ndeployable and\nscalable\n✅ You need an audit\ntrail / event sourcing\n✅ Temporal\ndecoupling: producer\ndoesn't need\nimmediate response\n✅ You're building\nread-optimized views\n(CQRS)\n✅ Data\nsynchronization\nacross systems\n(CDC)\n✅ Long-running\nworkflows (sagas)","textAlign":"left","verticalAlign":"middle","containerId":"shape-2","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":2}},{"angle":0,"strokeColor":"#a68a53","backgroundColor":"#fff7e6","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-3"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-5"}],"updated":0,"link":null,"locked":false,"id":"shape-4","type":"rectangle","seed":333,"x":16,"y":976.8,"width":288,"height":93.2,"customData":{"revealStep":3}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-3"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-5","type":"text","seed":406,"x":36,"y":994.8,"width":248,"height":57.2,"fontSize":22,"fontFamily":1,"text":"DON'T USE\nEvent-Driven When:","originalText":"DON'T USE\nEvent-Driven When:","textAlign":"left","verticalAlign":"middle","containerId":"shape-4","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":3}},{"angle":0,"strokeColor":"#9180ac","backgroundColor":"#f4effb","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-4"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-7"}],"updated":0,"link":null,"locked":false,"id":"shape-6","type":"rectangle","seed":479,"x":16,"y":1114,"width":288,"height":751,"customData":{"revealStep":4}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-4"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-7","type":"text","seed":552,"x":36,"y":1132,"width":248,"height":715,"fontSize":22,"fontFamily":1,"text":"❌ Simple CRUD with\none consumer (REST\nis simpler)\n❌ Synchronous\nrequest-response is\nrequired\n(show payment result\nimmediately, not\n\"eventually\")\n❌ Strong consistency\nacross services is\nmandatory\n(use distributed\ntransactions or\naccept complexity)\n❌ Team is small and\nservices are few\n(over-engineering)\n❌ Debugging simplicity\nis more important\nthan decoupling\n(async event flows\nare MUCH harder to\ndebug than REST\ncalls)","originalText":"❌ Simple CRUD with\none consumer (REST\nis simpler)\n❌ Synchronous\nrequest-response is\nrequired\n(show payment result\nimmediately, not\n\"eventually\")\n❌ Strong consistency\nacross services is\nmandatory\n(use distributed\ntransactions or\naccept complexity)\n❌ Team is small and\nservices are few\n(over-engineering)\n❌ Debugging simplicity\nis more important\nthan decoupling\n(async event flows\nare MUCH harder to\ndebug than REST\ncalls)","textAlign":"left","verticalAlign":"middle","containerId":"shape-6","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":4}},{"angle":0,"strokeColor":"#6577aa","backgroundColor":"#eef1fc","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-5"],"frameId":null,"roundness":null,"boundElements":[{"type":"text","id":"shape-9"}],"updated":0,"link":null,"locked":false,"id":"shape-8","type":"rectangle","seed":625,"x":16,"y":1909,"width":288,"height":350.6,"customData":{"revealStep":5}},{"angle":0,"strokeColor":"#394557","backgroundColor":"transparent","fillStyle":"solid","strokeWidth":1.5,"strokeStyle":"solid","roughness":0.7,"opacity":100,"version":1,"versionNonce":1,"isDeleted":false,"groupIds":["step-5"],"frameId":null,"roundness":null,"boundElements":null,"updated":0,"link":null,"locked":false,"id":"shape-9","type":"text","seed":698,"x":36,"y":1927,"width":248,"height":314.6,"fontSize":22,"fontFamily":1,"text":"The honest tradeoff:\nEvents give you:\nloose coupling,\nindependent scaling,\naudit\nEvents cost you:\neventual consistency,\ndebugging complexity,\noperational overhead\n(Kafka, schemas,\nDLQs)","originalText":"The honest tradeoff:\nEvents give you:\nloose coupling,\nindependent scaling,\naudit\nEvents cost you:\neventual consistency,\ndebugging complexity,\noperational overhead\n(Kafka, schemas,\nDLQs)","textAlign":"left","verticalAlign":"middle","containerId":"shape-8","lineHeight":1.3,"autoResize":false,"customData":{"revealStep":5}}],"appState":{"viewBackgroundColor":"#fbfbf8","gridSize":null},"files":{}}