Event Storming mikropalveluille
Hyödynnätte Event Stormingia yhteistyötekniikkana toimialatapahtumien löytämiseen ja monimutkaisten liiketoimintaprosessien mallintamiseen SaaS-palvelua varten.
Event Storming mikropalveluille on ilmainen SaaS-arkkitehtuuri ja startup-kehitys-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu SaaS-arkkitehtuuri ja startup-kehitys-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. SaaS-arkkitehtuuri ja startup-kehitys-kurssilla on yhteensä 4 oppituntia.
Mitä Event Storming on?
Event Storming on hauska ja yhteistoiminnallinen työpajatekniikka monimutkaisten liiketoiminta-alueiden ymmärtämiseen. Se auttaa tiimejä havainnollistamaan, miten asiat tapahtuvat järjestelmässä.
Kuvitelkaa huone täynnä tarralappuja! Tiimit kuvaavat liiketoimintaprosessin keskittymällä tapahtuviin "tapahtumiin", jolloin kokonaisuus on helpompi hahmottaa.
Miksi Event Stormingia käytetään mikropalveluihin?
SaaS-järjestelmissä, erityisesti mikropalveluarkkitehtuurissa, toimialueen rajojen ymmärtäminen on keskeistä. Event Storming auttaa:
- Monoliittien pilkkomisessa: Tunnistamaan selkeästi alueet, jotka voidaan erottaa.
- Palvelurajojen määrittämisessä: Ryhmittelemään toisiinsa liittyvät tapahtumat ja toiminnot mahdollisiksi palveluiksi.
- Viestinnän parantamisessa: Saamaan kaikki liiketoiminnasta teknologiaan samalle sivulle.
Event Storming -kanvas
Event Stormingissä toimialueen eri elementtejä esitetään erivärisillä tarralapuilla:
- Oranssi: Domain Events (mitä tapahtui?)
- Sininen: Commands (mikä käynnistää tapahtuman?)
- Keltainen: Aggregates (kuka suorittaa komennon?)
- Vihreä: Read Models (miten käyttäjät näkevät tiedot?)
- Violetti: Policies (tapahtumiin reagoivat säännöt)
Vaihe 1: toimialuetapahtumien löytäminen
Tästä aloitetaan! Miettikää, "mitä tapahtui?" liiketoimintaprosessissanne. Tapahtumat ovat menneisyyden tosiasioita, ja ne kirjoitetaan aina imperfektissä.
Esimerkkejä:
OrderPlacedPaymentReceivedUserRegisteredSubscriptionCancelled
Nämä ovat järjestelmänne keskeiset totuudet.
Yksinkertaisen tapahtuman koodaaminen
Vaikka Event Storming on visuaalinen tekniikka, löytämämme tapahtumat voidaan usein muuntaa koodiksi. Tältä yksinkertainen OrderPlaced-tapahtuma voisi näyttää Java-sovelluksessa:
Kokeilkaa suorittaa tämä esimerkki nähdäksenne, miten tapahtuma voidaan esittää ja "julkaista" (tässä tapauksessa vain tulostaa).
public class OrderPlacedEvent {
private String orderId;
private double amount;
private String customerId;
public OrderPlacedEvent(String orderId, double amount, String customerId) {
this.orderId = orderId;
this.amount = amount;
this.customerId = customerId;
}
public String toString() {
return "OrderPlacedEvent {id='" + orderId + "', amount=" + amount + ", customerId='" + customerId + "'}";
}
public static void main(String[] args) {
OrderPlacedEvent event = new OrderPlacedEvent("ORD123", 99.99, "CUST456");
System.out.println("New event generated: " + event.toString());
}
}Vaihe 2: Komentojen tunnistaminen
Tapahtumien jälkeen etsimme komentoja. Komento on eksplisiittinen pyyntö tehdä jotakin, mikä yleensä johtaa tapahtumaan (tai useisiin tapahtumiin).
Kysykää: "Mikä toiminto aiheutti tämän tapahtuman?" Komennot ovat yleensä imperatiivimuotoisia verbejä.
PlaceOrder(johtaa tapahtumaanOrderPlaced)ProcessPayment(johtaa tapahtumaanPaymentReceived)RegisterUser(johtaa tapahtumaanUserRegistered)
Vaihe 3: Aggregaattien paikantaminen
Aggregaatit ovat "kuka" tai "mikä", joka vastaanottaa komennon ja tuottaa tapahtuman. Ne ovat transaktionaalisen yhdenmukaisuuden rajoja – tämä tarkoittaa, että kaikki aggregaatin sisällä muuttuu yhdessä.
Ajatelkaa niitä koodinne "mallina" tai "entiteettinä", joka säilyttää tilan ja valvoo liiketoimintasääntöjä.
Order-aggregaatti käsittelee komennonPlaceOrder.PaymentProcessorkäsittelee komennonProcessPayment.
Vaihe 4: Lukumallit ja käytännöt
Lukumallit (vihreä): Näin käyttäjät tai muut järjestelmät hakevat tietoja. Ne on optimoitu lukemista varten, ja ne ovat usein tapahtumista muodostettuja denormalisoituja näkymiä.
Käytännöt (violetti): Nämä ovat tapahtumiin reagoivia liiketoimintasääntöjä. Esimerkiksi: "kun OrderPlaced-tapahtuma ilmenee, lähetetään vahvistussähköposti."
Myrskystä rajattuihin konteksteihin
Kun kartoitatte toimialuettanne, huomaatte tapahtumien, komentojen ja aggregaattien muodostamia luonnollisia ryhmiä. Nämä ryhmät määrittävät usein rajatut kontekstit.
Rajattu konteksti on looginen raja, jonka sisällä tietty toimialamalli määritellään ja jota sovelletaan. Tämä on olennaista itsenäisten mikropalvelujen suunnittelussa!
Suunnittelua laajemmat hyödyt
Event Storming ei auta ainoastaan teknisessä suunnittelussa, vaan se edistää yhteistä ymmärrystä koko tiimissä.
- Yhteinen kieli: Kaikki käyttävät samoja termejä.
- Tiedon siirtäminen: Uudet tiimin jäsenet omaksuvat monimutkaiset työnkulut nopeasti.
- Ongelmat tunnistetaan: Piilevät oletukset ja ongelmat paljastuvat varhain.
Pikatarkistus
Event Stormingissa eri väriset muistilaput edustavat toimialueen eri elementtejä. Yhdistäkää muistilapun väri oikeaan kuvaukseen.
Kertaus: Event Storming -työkalupakki
Olette oppineet, että Event Storming on tehokas visuaalinen tekniikka monimutkaisten toimialueiden ymmärtämiseen. Keskittymällä toimialueen tapahtumiin voitte tunnistaa komennot, aggregaatit, lukumallit ja käytännöt.
Tämä yhteistyöhön perustuva lähestymistapa auttaa määrittelemään selkeät rajatut kontekstit, mikä tekee siitä korvaamattoman työkalun kestävien ja skaalautuvien mikropalvelujen suunnitteluun SaaS-arkkitehtuurissanne.
Opi SaaS-arkkitehtuuri ja startup-kehitys tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 12
- Oppitunnit
- 48
Usein kysytyt kysymykset
Onko oppitunti ”Event Storming mikropalveluille” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa SaaS-arkkitehtuuri ja startup-kehitys-oppimispolun 3 oppituntia, myös oppitunnin “Event Storming mikropalveluille”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. SaaS-arkkitehtuuri ja startup-kehitys-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Event Storming mikropalveluille”?
Hyödynnätte Event Stormingia yhteistyötekniikkana toimialatapahtumien löytämiseen ja monimutkaisten liiketoimintaprosessien mallintamiseen SaaS-palvelua varten. Harjoittelet SaaS-arkkitehtuuri ja startup-kehitys-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni SaaS-arkkitehtuuri ja startup-kehitys-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin SaaS-arkkitehtuuri ja startup-kehitys-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Event Storming mikropalveluille”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä SaaS-arkkitehtuuri ja startup-kehitys-oppitunnilla?
Kyllä. Jokainen SaaS-arkkitehtuuri ja startup-kehitys-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Rajatut kontekstit ja aggregaatit
- Event Storming mikropalveluille
- Strateginen suunnittelu ja kontekstikartoitus
- Yhteinen kieli ja toimialamalli