Jobb API-k építése eseményvezérelt domain modellekkel
Jobb API-k építése esemény-alapú domain modellekkel
Ismerős a helyzet: átveszel egy nagy kódot, átlapozod a dokumentációt, és rájössz, hogy az vagy nem létezik, vagy már rég nem fedi a valóságot. Az üzleti logika szanaszét van a fájlokban, a szabályok a migrációkban rejtőznek, és senki sem tudja pontosan, mit is csinál a rendszer.
Van egy másik megközelítés. Ez az event sourcing.
Miért fontos ez a modern fejlesztésnek
A hagyományos adatbázisok csak a jelenlegi állapotot tárolják. Az event sourcing ezzel szemben mindent megőrzi – minden változást, minden eseményt. Így kialakul egy megváltoztathatatlan történet, ami bármikor visszanézhető.
A felhős alkalmazások, API-k és mikro-szolgáltatások számára ez több előnnyel is jár:
- Teljes audit nyomvonal jön létre magától
- Könnyebb hibakeresni, mert pontosan látod, mi történt
- Az írás és olvasás különválasztható, így könnyebben skálázható a rendszer
- Világosabbá válik, mit is csinál valójában a üzleti logika
Persze elsőre bonyolultnak tűnhet ez a gondolkodásmód.
A domain modellezés szerepe
Mielőtt kódot írnál, érdemes átgondolni néhány alapvetet:
- Milyen parancsok indítanak el változásokat?
- Milyen eseményeket kell rögzíteni?
- Hogyan kommunikálnak egymással a rendszer részei?
- Mely szabályokat kell mindig betartani?
Ez a fajta átgondolás különbözteti meg azokat a rendszereket, ami működnek és skáláznak,跟那些 die on a langfristig. Ez a tudint a csapatnak is tovább kell adni – nem maradhat csak a fejben.
Egy nyelv a architektúra leírásához
Ha strukturált módon szeretnéd ezt dokumentálni, léteznek olyan eszközök és nyelvelek, melyek lehetővé nem tesztnak szorosnál tartani. Ezek lehetővé tesznek, hogy olyan elemet rögzíts, melyeknek a rendszerben való létezését és kapcsolatukat meg lehet tartani.