Mikä on tapahtumavetoinen arkkitehtuuri?
Tapahtumalähtöinen arkkitehtuurin integraatiomalli tunnistaa tärkeät ”tapahtumat” ja toimii niiden parissa reaaliajassa.
default
{}
default
{}
primary
default
{}
secondary
Tapahtumalähtöinen arkkitehtuurimääritys ja miksi sillä on merkitystä
Tapahtumalähtöinen arkkitehtuuri on ohjelmistosuunnittelun lähestymistapa, jonka avulla organisaatiot voivat reagoida välittömästi mihin tahansa merkitykselliseen tilanmuutokseen. Kuvitelkaa, voisiko yritys reagoida siihen hetkeen, kun jotain tärkeää tapahtuu, kuten asiakas tekee verkko-oston, sensori liputtaa lähestyvään toimintahäiriöön, osakekurssi laskee tai turvallisuusvaroitus syttyy. Nämä muutokset – joita kutsutaan tapahtumiksi – tapahtuvat koko ajan, kaikissa organisaatioissa, kaikilla toimialoilla. Menestys riippuu siitä, kuinka nopeasti yritys voi vastata tapahtumiin.
Tähän tulee tapahtumavetoinen arkkitehtuuri (EDA). Aikataulutettujen päivitysten odottamisen tai jäykkien, tiukasti liitettyjen järjestelmien sijaan tapahtumalähtöisen arkkitehtuurin avulla sovellukset voivat kommunikoida asynkronisesti löyhästi kytkettyjen komponenttien kautta. Tämä tarkoittaa, että jokainen järjestelmän osa voi toimia itsenäisesti – tuntematta muiden sisäisiä toimintoja – mikä helpottaa skaalausta, mukautumista ja innovointia.
Tämän seurauksena nykyaikaiset tapahtumapohjaista arkkitehtuuria käyttävät järjestelmät mahdollistavat nopeamman ja yksilöllisemmän kokemuksen, automatisoinnin ja ketteryyden myös kysynnän ja datamäärien kasvaessa. Tapahtumalähtöisen arkkitehtuurin omaksumalla organisaatiot siirtyvät reaktiivisesta proaktiiviseen, jolloin ne saavat dynaamisessa digitaalisessa maailmassa menestymiseen tarvittavan nopeuden, joustavuuden ja sietokyvyn.
Mikä on tapahtuma?
Tapahtuma on mikä tahansa toimenpide tai tilanmuutos, joka vaikuttaa liiketoimintaan – esimerkiksi kun asiakas pyyhkäisee luottokorttia, matkustaja kirjautuu sisään lentoa varten, käyttäjä nollaa salasanan tai varasto päivittää varastonsa. Ajattele sitä näin: tapahtuma on pieni viesti, jossa lukee ”jotain vain tapahtui”, jolloin järjestelmän muut osat voivat reagoida heti.
Yritykset muuttuvat tapahtumavetoisiksi, kun ne voivat taltioida ja reagoida tapahtumiin niiden tapahtuessa, mikä on koko ajan. Yleisiä tapahtumaesimerkkejä ovat:
- Maksu epäonnistuu tai onnistuu
- Käyttäjä kirjautuu sisään tai ulos
- Varasto laskee kynnysarvon alapuolelle
- Lähetys lähtee varastosta tai saapuu määränpäähän
- Tietoturvaloukkaus käynnistää hälytyksen
- Kanta-asiakasohjelma päivittää pistesaldot
- Tukitiimi luo lipun
- Asiakas päivittää toimitusosoitteensa
- Uusi käyttäjä luo tilin
- Ostaja lähettää tuotearvostelun
- Tilaaja uusii tai irtisanoo tilauksen
Tapahtumalähtöisen arkkitehtuurin ydinkomponentit
Jotta niiden rakenne pysyy yhdenmukaisena, tapahtumakaaviot määrittävät tapahtuman rakenteen ja muodon, mukaan lukien kentät, joita tapahtuma sisältää, tietotyypit ja tulkintasäännöt.
Tapahtumalähtöisessä arkkitehtuurissa sovellukset toimivat tapahtumien tuottajina– jotka tuottavat tai taltioivat tapahtumia – tai tapahtuman kuluttajia– jotka käsittelevät tapahtumia ja toimivat niiden perusteella. Tuottajat välittävät tapahtumia kuluttajille reaaliajassa tapahtumavälittäjän kautta, joka on viestipainotteinen väliohjelmisto. Kuluttajat voivat sitten käsitellä tapahtumaa ja käynnistää muita toimia, työnkulkuja tai omia tapahtumiaan. Tämä muotoilu mahdollistaa reaaliaikaisen reagoinnin ja älykkäämmät päätökset datavirtoina -ratkaisussa.
Tapahtumavälittäjä hallinnoi tapahtumakanavia, jotka yhdistävät tuottajat kuluttajiin, varmistavat luotettavan toimituksen ja tarjoavat usein ominaisuuksia, kuten suodatusta, pysyvyyttä ja uusintaa. Irrottamalla tuottajat ja kuluttajat tuotantomääristä tapahtumavälittäjä tekee järjestelmästä joustavamman ja skaalautuvamman.
Hyvin yksinkertaisessa arkkitehtuurissa, jossa yksi tuottaja ja yksittäinen kuluttaja kommunikoivat suoraan keskenään, tapahtumavälittäjät voivat olla valinnaisia. Useimmissa yrityksissä useat lähteet kuitenkin lähettävät tapahtumia useille kuluttajille, joten välittäjä tai jopa välittäjien verkosto – joka tunnetaan myös nimellä ”tapahtumaverkko”– tarvitaan. Kun käytetään tapahtumavälittäjää tai tapahtumaverkkoa, syntyy sovelluksista ”löysä kytkentä”.
Synkroninen vs. asynkroninen tietoliikenne
Synkronisessa viestinnässä tapahtumaohjatussa arkkitehtuurissa tapahtumatuottaja odottaa vastaanottajan prosessoivan ja vastaavan ennen jatkamista. Esimerkki tästä on se, kun WWW-asiakas lähettää HTTP-pyynnön ja odottaa palvelimen vastausta. Synkroninen viestintä on tyypillisesti tiiviisti kytkettyä ja hitaampaa raskaissa kuormissa, ja ”estää” tuottajaa suorittamasta seuraavaa tehtäväänsä, kunnes se saa kuluttajalta vastauksen.
Asynkronisessa viestinnässä tapahtumalähtöisessä arkkitehtuurissa tuottaja ei odota välitöntä vastausta, vaan se voi jatkaa käsittelyä samalla, kun tapahtuman kuluttaja käsittelee sanoman myöhemmin. Esimerkki tästä on, kun järjestelmä julkaisee tapahtuman tapahtumavälittäjälle ja kuluttajat käsittelevät sen itsenäisesti. Asynkroninen tietoliikenne on ei-estävää, löyhästi kytkettyä ja skaalattavaa, mikä tekee siitä paremman reaaliaikaisissa ja hajautetuissa järjestelmissä.
Pyyntölähtöiset vs. tapahtumaohjatut mallit tapahtumaohjatussa arkkitehtuurissa
Pyyntölähtöisessä mallissa vuorovaikutus alkaa tapahtuman kuluttajan pyynnöllä palvelimeen, ja palvelin vastaa. Tämä malli on pull-pohjainen – eli kuluttaja pyytää aktiivisesti tietoja tai palveluita palvelimelta, kun se tarvitsee niitä, eikä saa automaattisia päivityksiä – ja voi olla synkroninen tai asynkroninen. Pyyntöpohjaiset mallit ovat yleisiä perinteisissä web-sovelluksissa ja API-rajapinnoissa.
Tapahtumaohjatussa mallissa vuorovaikutus alkaa tapahtumalla – tilan tai toimen muutoksella, joka käynnistää käsittelyn – ja komponentit reagoivat automaattisesti, kun tapahtumia tapahtuu, esimerkiksi julkaise/tilaa. Tämä malli on ominaisuuksiltaan push-pohjainen, mikä tarkoittaa, että järjestelmä lähettää automaattisesti (”työntää”) tapahtumia tai päivityksiä kuluttajille heti, kun ne tapahtuvat, odottamatta kuluttajan pyytävän niitä. Tapahtumaohjatut mallit ovat asynkronisia, irrotettuja ja ihanteellisia reaaliaikaiseen reagointiin.
Ajattele mallien keskeisiä eroja näin: pyyntölähtöisissä malleissa käyttäjät kysyvät tietoja, kun niitä tarvitaan; tapahtumaohjatut mallit reagoivat automaattisesti, kun jotain tapahtuu.
Yleiset tapahtumalähtöiset arkkitehtuurimallit
Tapahtumalähtöiset arkkitehtuurimallit ovat yleisiä suunnittelumalleja, jotka määrittävät, miten tapahtumavetoinen järjestelmä sieppaa, käsittelee ja kuluttaa tapahtumia. Mallit tarjoavat uudelleenkäytettäviä strategioita viestinnän käsittelyyn ja tilanmuutoksia skaalautuvalla, irrotettavalla tavalla. Organisaatiot käyttävät tapahtumalähtöisiä arkkitehtuurimalleja järjestelmäsuunnittelussa ja toteutuksessa yhteisten haasteiden ratkaisemiseksi. Näitä ovat tapahtumien jako, tietojen yhdenmukaisuus ja skaalattavuus asynkronisissa, löyhästi kytketyissä ympäristöissä.
Tapahtumalähtöisen arkkitehtuurin tapahtumien lähettämiseen on neljä pääkaavaa:
- Julkaise/tilaa (eli ”pub/sub”): Pubin/subin kanssa tapahtuman kuluttajat tilaavat tapahtumatuottajien julkaisemia viestejä ja kanavia. Kun tapahtuma julkaistaan, se lähetetään suoraan kaikille tilaajille tapahtumavälittäjän avulla. Kaksoiskappaleiden välttämiseksi tapahtumia ei voi toistaa uudelleen tai käyttää käytön jälkeen, koska välittäjä poistaa ne.
- Tapahtuman suoratoisto: Tapahtuman suoratoistolla tuottajat julkaisevat kokonaisia tapahtumavirtoja välittäjälle. Kuluttajat tilaavat virran ja voivat lukea sen mistä tahansa osasta kuluttaen vain heille relevantit tapahtumat. Tapahtumien suoratoiston avulla välittäjä säilyttää tapahtumat myös niiden kuluttamisen jälkeen.
- Komentokyselyvastuun erottelu (CQRS): CQRS-mallin avulla sovellussuunnittelu- ja arkkitehtuurikerros erottaa luku- ja kirjoitustoiminnot eri malleihin. Komentojen päivitystila kyselyjen lukutilassa. Tapahtumalähtöisessä arkkitehtuurissa CQRS-malli toimii usein tapahtumien kanssa muutosten levittämiseksi asynkronisesti, mikä parantaa monimutkaisten järjestelmien skaalautuvuutta ja suorituskykyä.
- Tapahtuman kilpailutus: Tapahtuman kilpailutuksen yhteydessä järjestelmä tallentaa jokaisen tilan muutoksen tapahtumaksi vain liitteenä -lokiin sen sijaan, että vain entiteetin nykyinen tila tallennettaisiin. Nykyinen tila voidaan rakentaa uudelleen toistamalla nämä tapahtumat. Tämä tarjoaa täydellisen kirjausketjun ja tukee aikamatkustuksen ja palautuksen skenaarioita.
Tapahtumankäsittelytyylit
Tapahtumankäsittelytyylit kuvaavat, miten järjestelmä havaitsee, tulkitsee ja toimii tapahtumiin liittyen. Ne määrittelevät järjestelmän ymmärtämien tapahtumien välisen logiikan, ajoituksen ja suhteiden monimutkaisuuden. Tapahtumien käsittelyyn kuluttajan saavuttua on kolme erilaista lähestymistapaa: yksinkertainen tapahtumakäsittely, monimutkainen tapahtumakäsittely ja tapahtumavirtojen käsittely.
1. Yksinkertainen tapahtumankäsittely: Kuluttajat käsittelevät jokaisen tapahtuman sellaisena kuin se vastaanotetaan. Esimerkkejä:
- Asiakas tekee tilauksen ja kehottaa järjestelmää lähettämään vahvistussähköpostin ja päivittämään varaston.
- Salasanan palautuspyyntö käynnistää sähköpostin, joka sisältää suojatun linkin.
- Onnistunut maksu johtaa kuitin generointiin ja lähettämiseen asiakkaalle.
- Käyttäjän kirjautuminen tallennetaan välittömästi tietoturvaseurantaa varten.
2. Monimutkainen tapahtumakäsittely: Kuluttajat käsittelevät useita tapahtumia havaitakseen malleja ja suorittaakseen toimia tuloksen perusteella. Esimerkkejä:
- Useat arvokkaat tapahtumat nopeasti peräkkäin aiheuttavat petoshälytyksen.
- Nouseva lämpötila yhdessä lisääntyneen tärinäsignaalin kanssa aiheuttaa lähestyvän laitevian.
- Kirjautumisyritykset eri maista muutamassa minuutissa laukaisevat turvallisuusvaroituksen.
- Saman käyttäjän toistuva ostoskorin hylkäys kehottaa yksilöllistettyä alennustarjousta.
3. Tapahtumavirtojen käsittely: Kuluttajat käsittelevät ja reagoivat jatkuvaan tiedonkulkuun (liikkeessä oleva data) reaaliajassa käyttämällä tietojen suoratoistoalustaa. Esimerkkejä:
- Osakkeiden hintavaihtelut nopeuttavat kaupan suoritusta ennalta määritettyjen sääntöjen perusteella.
- Sosiaalisen median huipentuma mainitsee päivitysten asennekojetaulut lennossa.
- Liitettyjen ajoneuvojen telemetria säätää dynaamisesti liikennesignaaleja.
- Clickstream-tiedot verkkokauppasivustosta antavat reaaliaikaisia tuotesuosituksia.
Yritykset valitsevat reaaliaikaisen tapahtumankäsittelytyylinsä yksilöllisten tarpeidensa ja käyttötapausten perusteella.
Miten tapahtumalähtöinen arkkitehtuuri toimii
Tapahtumaohjattu arkkitehtuuri on integraatiomalli, joka on kehitetty julkaisemaan, tallentamaan, käsittelemään ja reagoimaan tapahtumiin hajautetuissa järjestelmissä reaaliaikaisesti. Kun tapahtuma tapahtuu yhdessä sovelluksessa, viesti lähetetään automaattisesti kaikille muille sovelluksille, joiden on tiedettävä siitä, jotta he voivat toimia sen mukaisesti.
Seuraavassa esitetään, miten tapahtumaohjattu arkkitehtuuri toimii askel askeleelta:
- Tapahtuma tapahtuu: Merkittävä tilanmuutos tapahtuu, kuten asiakas tekee tilauksen, anturi havaitsee lämpötilapiikin tai maksu epäonnistuu.
- Tapahtuman tuottaja lähettää tapahtuman: Hakemus, jossa tapahtuma tapahtui, toimii tuottajana ja julkaisee tapahtuman tapahtumavälittäjälle.
- Tapahtumavälittäjä reitittää tapahtuman: Tapahtumavälittäjä toimii välittäjänä hallinnoidakseen tapahtumakanavia ja toimittaakseen tapahtuman kaikille kiinnostuneille tapahtuman kuluttajille, mikä auttaa varmistamaan luotettavan, skaalautuvan ja irtikytketyn viestinnän.
- Tapahtuman kuluttajat reagoivat tapahtumaan: Tapahtumakanavan tilanneet sovellukset tai palvelut käsittelevät tapahtumaa ja ryhtyvät tarvittaviin toimiin, kuten varaston päivittämiseen, vahvistussähköpostin lähettämiseen tai hälytyksen käynnistämiseen.
Tapahtumapohjaiset arkkitehtuurit ovat asynkronisia ja irrallisia, mikä tarkoittaa, että sovellusten ei tarvitse olla tietoisia toisistaan jakaakseen tietoja ja suorittaakseen tehtäviä reaaliajassa. Tapahtumatiedot eli viestit voivat virrata vapaasti ja automaattisesti sovellusten välillä. Tämän seurauksena tapahtumaohjattu arkkitehtuurimalli on paljon nopeampi ja joustavampi kuin perinteiset pyyntö- ja vastepohjaiset mallit, joissa yhden sovelluksen on pyydettävä tarvitsemansa tiedot toiselta ja odotettava vastausta ennen seuraavaan tehtävään siirtymistä. Tapahtumalähtöisen arkkitehtuurin irtikytketyn luonteen vuoksi sitä pidetään yleisesti parhaana käytäntönä mikropalveluviestinnässä.
Käytä tapauksia ja reaalimaailman esimerkkejä
Tapahtumavetoinen arkkitehtuuri tarjoaa moderneja digitaalisia kokemuksia eri toimialoilla pankkitoiminnasta ja vähittäiskaupasta valmistukseen ja logistiikkaan. Ottamalla käyttöön tekoälyyn perustuvan automaation, tapahtumaälyn ja reaaliaikaisen reagointikyvyn, tapahtumaohjattu arkkitehtuuri auttaa organisaatioita modernisoimaan IT:tä, irrottamaan vanhat järjestelmät toisistaan ja toimimaan saumattomasti monipilviympäristöissä.
Seuraavat esimerkit osoittavat, miten tapahtumavetoinen arkkitehtuuri toimii käytännössä.
Ravintola-ala
- Yliopiston opiskelija tilaa pizzan ruokajakelusovelluksella. Sovellus tallentaa perustietonsa – nimen, osoitteen, maksutiedot ja tilauksen – ja julkaisee ”pizzatilauksen” tapahtuman.
- Pizzaravintola tilaa tapahtuman, täyttää tilauksen ja julkaisee oman ”tilausvalmiin” tapahtumansa takaisin ruuanjakelupalveluun.
- Tämän jälkeen palvelu kohdistaa toimituskuljettajan, ajoittaa ETA:n ja ilmoittaa asiakkaalle, että hänen ympyräkaavionsa on matkalla.
Sähköinen kaupankäynti
- Verkkokauppias syöttää luottokorttitietonsa verkkokauppasivustolle, joka julkaisee ”lähetetty maksu” -tapahtuman.
- Maksujärjestelmä tilaa tapahtuman, käsittelee maksun ja lähettää oman ”käsitelty maksu” -tapahtuman, joka osoittaa onnistumisen tai epäonnistumisen, ja reitittää sen takaisin verkkosivuston käyttöliittymään.
- Käyttöliittymä näyttää maksun tilan asiakkaalle ja kehottaa seuraaviin vaiheisiin.
Muita tapahtumapohjaisia arkkitehtuuriesimerkkejä ovat:
IoT-telemetria
- Älykäs tehdas lähettää anturitietoja lämpötilapiikkien havaitsemiseksi ja laitevikojen estämiseksi.
- Yhdistetyt ajoneuvot lähettävät telemetriaa liikennevirran dynaamiseksi optimoimiseksi.
- Älykotilaitteet julkaisevat energiankäyttötapahtumia käynnistääkseen kustannussäästösuosituksia.
Analyysit ja tapahtumatiedot
- Kauppias analysoi napsautusten tiedot reaaliaikaisesti tuotesuositusten mukauttamiseksi.
- Pankki valvoo tapahtumamalleja petosten havaitsemiseksi ennen niiden esiintymistä.
- Logistiikkayritys käyttää suoratoistotietoja toimitusviiveiden ennustamiseen ja lähetysten uudelleenohjaukseen.
Automatisointi
- HR-järjestelmä tarjoaa automaattisesti ohjelmiston käyttöoikeuden uudelle työntekijälle, mukaan lukien lisenssien ja oikeuksien kohdistaminen.
- Terveydenhuoltojärjestelmä käynnistää automatisoituja hälytyksiä, kun potilaan elinvoimaisuus ylittää kriittiset kynnysarvot.
- Pilvialusta skaalaa resurssit dynaamisesti työkuormatapahtumien perusteella.
Rahoitustapahtumat
- Maksuyhdyskäytävä julkaisee "Maksu lähetetty" -tapahtuman, mikä käynnistää petostarkistukset ennen hyväksyntää.
- Kaupankäyntialusta toteuttaa osto-/myyntitoimeksiantoja välittömästi osakkeiden hintojen heilahdellessa.
- Pankki kirjaa talletukset ja päivittää tilien saldot reaaliaikaisesti.
Toimitusketju
- Varasto päivittää varastosaldot ja käynnistää automaattisesti täydennystilaukset.
- Toimituspalvelu ohjaa kuljettajat reaaliaikaisesti liikenteen ja sääolojen perusteella.
- Valmistaja mukauttaa tuotantoaikatauluja reaaliaikaisten tarvesignaalien perusteella.
IT-modernisointi ja vanha irtikytkentä
- Yritys siirtää työt pääkehyksestään julkaisemalla liiketapahtumia moderneihin pilvipalveluihin avaintoimintoja varten.
- Organisaatio näyttää reaaliaikaiset tapahtumarajapinnat vanhan ERP-järjestelmän ympärillä, joten uudet sovellukset voivat reagoida välittömästi ilman, että ne koskettavat taustaa.
- Liiketoiminta heijastaa tapahtumia vanhasta CRM:stä moderniin SaaS-alustaan, jotta molemmat järjestelmät pysyvät synkronoituina asteittaisen siirtymisen aikana.
Ilmoitukset
- Energiatoimialan tarjoaja ilmoittaa asiakkaille heti, kun heidän alueellaan havaitaan sähkökatkos, ja päivittää heitä restaurointihenkilöstön etenemisestä.
- Matkustushakemus lähettää matkustajille reaaliaikaisen hälytyksen, kun heidän porttitehtävänsä muuttuu, ja varmistaa, että he voivat mukauttaa suunnitelmiaan välittömästi.
- Suoratoistopalvelu lähettää mukautettuja suosituksia, kun käyttäjä on lopettanut esityksen.
- Tietoturvajärjestelmä työntää hälytyksiä, kun epäilyttävä kirjautumistoiminto havaitaan.
Yleisiä tapahtumaohjatun arkkitehtuurin käyttötapauksia ovat:
- Verkko-ostaja napsauttaa tuotetta, ja järjestelmä vastaa generoimalla tuotesuosituksia samankaltaisten tuotteiden perusteella.
- Jälleenmyyjä seuloo petoksia koskevat maailmanlaajuiset tapahtumat ja liputtaa luottokorttiyhtiölle tehdyt epäilyttävät ostokset.
- Reaaliaikainen asiakkaiden sitoutuminen käyttää suoratoistokäyttäjien käyttäytymistietoja henkilökohtaisten tarjousten tai dynaamisen hinnoittelun käynnistämiseen ostosistunnon aikana.
- Terveydenhuollon seuranta julkaisee potilaan elintärkeitä merkkejä yhdistetyistä laitteista ja varoittaa lääkäreitä heti, kun kynnykset ylitetään.
- Älykäs kaupunkitoiminta hallitsee liikennevaloja ja joukkoliikenteen aikatauluja reaaliaikaisten liikenne- ja säätapahtumien perusteella.
- Kyberturvallisuuden uhkien havaitseminen tunnistaa epäilyttävän verkkotoiminnan tai luvattomat pääsyyritykset ja reagoi niihin reaaliajassa.
- Pilviresurssien optimointi skaalaa laskentaresurssit automaattisesti monipilviympäristöissä, kun työkuormituksen piikkejä esiintyy.
SAP-tuote
Tutustu joustaviin tapahtumaintegraatioihin
Ota käyttöön itsenäinen skaalaus, vikojen eristäminen ja jatkuva käytettävyysaika – myös liikenteen ja käyttötapausten kasvaessa – käyttämällä välittäjien jaettua verkkoa, joka irrottaa tuottajat ja kuluttajat toisistaan.
Tapahtumalähtöisen arkkitehtuurin edut
Organisaatiot voivat soveltaa tapahtumapohjaisen arkkitehtuurin etuja nykyaikaisiin järjestelmiinsä. Tapahtumalähtöisen arkkitehtuurin tärkeimpiä etuja ovat:
- Reaaliaikainen reagointikyky ja älykkäät työnkulut: Tapahtumalähtöisen arkkitehtuurin avulla järjestelmät voivat reagoida tapahtumiin välittömästi niiden tapahtuessa, mikä käynnistää automatisoidut työnkulut ja päätökset reaaliajassa. Tämä on erityisen tärkeää kysynnän huippuaikoina – esimerkiksi suurten myyntitapahtumien tai lomien aikana. Organisaatiot voivat soveltaa tätä reagointikykyä jokapäiväisiin toimintoihin, mikä parantaa kaikkea toimitusketjun automatisoinnista ja petosten havaitsemisesta yksilölliseen asiakkaiden sitoutumiseen.
- Nopeus ja tehokkuus asynkronisen tietoliikenteen avulla: Sovellukset tapahtumalähtöisessä arkkitehtuurissa viestivät asynkronisesti, mikä tarkoittaa, että tuottajat julkaisevat tapahtumaviestejä odottamatta kuluttajien saavan ne. Tämä ei-estävä lähestymistapa parantaa suorituskykyä, vähentää viivettä ja antaa järjestelmille mahdollisuuden käsitellä massiivisia tapahtumamääriä ilman pullonkauloja.
- Joustavuus ja skaalautuvuus irtikytkennän ja irtikytkennän avulla: Tapahtumavetoisen arkkitehtuurin komponentit irrotetaan tai kytketään löyhästi toisiinsa, joten ne toimivat itsenäisesti luottamatta toistensa saatavuuteen tai sisäiseen logiikkaan. Näin palvelut on helppo päivittää, testata ja ottaa käyttöön häiritsemättä koko järjestelmää. Tuen irrottaminen tuotannosta helpottaa myös tuottajien ja kuluttajien lisäämistä tarpeen mukaan, mikä mahdollistaa saumattoman skaalautumisen liiketoiminnan tarpeiden kasvaessa.
- Resilienssi ja vikojen eristäminen: Irrotetuilla palveluilla yhden komponentin viat eivät kasaannu järjestelmän yli. Jokainen palvelu voi epäonnistua itsenäisesti, mikä tekee arkkitehtuurista kestävämmän ja vikasietoisemman kuin perinteiset tiukasti kytketyt mallit.
- Tulevaisuusvalmis integraatio: Löysä kytkentä ja asynkroninen suunnittelu tekevät tapahtumalähtöisestä arkkitehtuurista ihanteellisen IT-modernisointiin, vanhojen järjestelmien irtikytkentään ja monipilvitoimintoihin. Organisaatiot saavat joustavuutta integroida uusia teknologioita, kuten tekoälyyn perustuvaa automaatiota ja tapahtumaälyä, ilman ydinjärjestelmien uudelleenkirjoittamista.
Haasteet, rajoitukset ja parhaat käytännöt
Vaikka tapahtumalähtöiset arkkitehtuurit tarjoavat vahvoja etuja, ne tuovat mukanaan myös uusia suunnittelu- ja toimintahaasteita, joita organisaatioiden on suunniteltava. Toteuttaessasi tapahtumalähtöistä arkkitehtuuria, ota huomioon seuraavat tapahtumapohjaiset arkkitehtuurihaasteet, rajoitukset ja parhaat käytännöt skaalautuvien, joustavien ja hyvin hallittujen tapahtumaohjautuvien järjestelmien varmistamiseksi.
Haasteet
- Hajautettujen järjestelmien monimutkaisuus: Tapahtumavälittäjien verkon hallinta useissa ympäristöissä tuo arkkitehtuurin monimutkaisuuteen. Tapahtumavirtojen suunnittelu, kaavion yhdenmukaisuuden varmistaminen ja asynkronisen tietoliikenteen käsittely vaativat kehittynyttä suunnittelua ja asiantuntemusta. Ilman asianmukaista suunnitteluvalvontaa organisaatiot voivat kokea tapahtumakaaoksen tapahtumamäärien, tuottajien ja kuluttajien kasvaessa.
- Hallinto ja vaatimustenmukaisuus: Kun tapahtumat kulkevat hybridi- ja monipilviympäristöissä, hallintokäytäntöjen – kuten tietosuojan, tietoturvan ja säännösten noudattamisen – täytäntöönpano on haastavaa. Organisaatiot tarvitsevat vankat hallinnointikehykset estääkseen tietovuodot ja luvattoman pääsyn ja pitääkseen yllä nopeasti laajenevien tapahtumamaisemien hallintaa.
- Virheenkorjaus ja havaittavuus: Ongelmien vianmääritys asynkronisessa, löyhästi kytketyssä järjestelmässä on monimutkaisempaa kuin perinteisissä arkkitehtuureissa. Virheiden tai viiveiden perussyyn tunnistaminen edellyttää edistyneitä valvonta-, jäljitys- ja tapahtumatoistomahdollisuuksia. Tämä pätee erityisesti silloin, kun tiimit selvittävät monimutkaisista tapahtumaketjuista syntyviä ongelmia tai ratkaisevat tapahtumakaaoksen oireita.
Miten Event Mesh sopii
Event Mesh on arkkitehtoninen ominaisuus, joka yhdistää useita tapahtumavälittäjiä eri hyperskaalaajissa sekä yksityisissä, hybridi- ja monipilviympäristöissä. Event Mesh tarjoaa kattavan valikoiman edistyneitä eventing palveluita, kuten tapahtumien suoratoistoa, tapahtumien hallintaa, valvontaa, dynaamisia viestien reitityksiä ja hienojakoista suodatusta. Yhdistämällä tapahtumavälittäjät jaettuun verkkoon organisaatiot voivat:
- Vähennä monimutkaisuutta keskitetyllä tapahtumien reitityksellä ja hallinnalla.
- Tue hallinnointia tapahtumaluetteloiden, kaavion täytäntöönpanon ja valvonnan avulla.
- Paranna havaittavuutta tapahtumien jäljityksen, toiston ja edistyneen analytiikan avulla.
- Ota käyttöön skaalautuvuus ja sietokyky hybridi- ja monipilviympäristöissä.
Nykyaikaisten järjestelmien selkärankana Event Mesh on perustava kerros skaalautuville, reaaliaikaisille tapahtumapohjaisille arkkitehtuureille. Se auttaa varmistamaan reaaliaikaisen reagointikyvyn ja samalla yksinkertaistamaan integraatiota, vähentämään tapahtumakaaosta ja vahvistamaan vianmääritysominaisuuksia hajautetuissa ympäristöissä.
Tapahtumalähtöisen arkkitehtuurin rajoitukset
- Operatiiviset yleiskustannukset: Tapahtumalähtöiset järjestelmät vaativat erikoistyökaluja tapahtumanhallintaan, kaavion validointiin ja valvontaan, mikä voi lisätä operatiivista monimutkaisuutta.
- Taitovaatimukset: Tapahtumaverkoston ja tapahtumaohjautuvien arkkitehtuurimallien toteuttaminen ja ylläpito vaativat asiantuntemusta hajautetuissa järjestelmissä, tapahtumavälittäjissä ja integraatioalustoissa.
- Latenssiriskit: Vaikka tapahtumalähtöinen arkkitehtuuri on suunniteltu reaaliaikaiseen reagointikykyyn, huonosti konfiguroitu tapahtumareititys tai ylikuormitetut välittäjät voivat ottaa käyttöön latenssin.
Tapahtumalähtöisen arkkitehtuurin parhaat käytännöt
- Skeemojen ja tapahtumasopimusten standardointi: Käytä kaaviorekistereitä ja pakota validointi ylläpitämään yhdenmukaisuutta tuottajien ja kuluttajien välillä.
- Ota käyttöön vahva hallintotapa: Määritä selkeät käytännöt tapahtumien omistajuudelle, turvallisuudelle ja vaatimustenmukaisuudelle. Hyödynnä auditoinnin ja kulunvalvonnan työkaluja.
- Paranna havaittavuutta: Ota käyttöön seuranta- ja jäljitysratkaisuja tapahtumavirtojen seuraamiseksi, poikkeamien havaitsemiseksi ja virheenkorjauksen yksinkertaistamiseksi.
- Skaalautuvuuden ja sietokyvyn suunnittelu: Optimoi suorituskyky ja vikasietoisuus käyttämällä Event Mesh -ominaisuuksia, kuten dynaamista reititystä ja hienorakeista suodatusta.
- Automatisoi tekoälyn ja tapahtumaälyn avulla: Integroi tekoälypohjaiset analyysit ja automaatio ennakoimaan ongelmia, optimoimaan reititystä ja parantamaan päätöksentekoa reaaliajassa.
Tapahtumaohjatun arkkitehtuurin ominaisuudet
Sen ytimessä tapahtumalähtöinen arkkitehtuuri nojaa useisiin ominaisuuksiin, jotka tekevät siitä ihanteellisen hajautetuissa, hybridi- ja monipilvisissä maisemissa.
- Asynkroninen viestintä: Tapahtumavetoisen arkkitehtuurin perusominaisuus. Sen sijaan, että hakemukset odottaisivat suoraa vastausta, kuten perinteisissä pyyntölähtöisissä malleissa, ne julkaisevat tapahtumia ja jatkavat toimintaansa viipymättä. Tämä estoton tyyli mahdollistaa reaaliaikaisen vuorovaikutuksen hajautettujen järjestelmien välillä ja parantaa reagointikykyä myös kovan kuormituksen aikana.
- Löysä kytkentä: Sovellusten ei tarvitse tietää toistensa käytettävyyttä, API-rakennetta tai sisäistä logiikkaa; ne kommunikoivat yksinkertaisesti tapahtumavälittäjän tai tapahtumaverkon reitittämien tapahtumien kautta. Varmistamalla, että tapahtumien tuottajat ja kuluttajat toimivat itsenäisesti, tiimit voivat lisätä, päivittää tai korvata palveluja häiritsemättä laajempaa järjestelmää, lisäämällä ketteryyttä ja vikasietoisuutta.
- Riippumaton skaalaus: Koska komponentit irrotetaan, yksittäiset palvelut voivat skaalata ylös- tai alaspäin tarpeen mukaan – ilman muutoksia edeltäviin tai seuraaviin sovelluksiin. SAP korostaa tätä tapahtumalähtöisen integraation keskeisenä etuna erityisesti hybridi- ja monipilviympäristöissä, joissa huippukuormitusta ja jaettua työkuormaa on hallittava tehokkaasti.
Yhdessä nämä ominaisuudet tekevät tapahtumalähtöisestä arkkitehtuurista tehokkaan lähestymistavan rakennusjärjestelmiin, jotka ovat reaaliaikaisia, joustavia, mukautuvia ja kasvuvalmiita – olitpa sitten tukemassa mikropalveluja, integroimassa pilvimaisemia tai mahdollistamassa tapahtumavetoisia liiketoimintaprosessisovelluksia.
SAP-tuote
Ryhdy tapahtumaohjautuvaksi asteikolla
Ota käyttöön välitön ja reaaliaikainen yhteys pilvissä yrityksen laajuisen Event Mesh -tapahtuman avulla.
Usein esitettyjä kysymyksiä
Suurin ero tapahtumaohjatuissa ja pyyntölähtöisissä arkkitehtuureissa on se, miten järjestelmät kommunikoivat ja reagoivat muutoksiin. Pyyntöohjatussa mallissa kontakti alkaa, kun kuluttaja pyytää tietoja tai toimea palvelimelta ja palvelin vastaa. Tämä malli on tyypillisesti synkroninen – eli pyytäjä odottaa (estää) vastauksen saapumista – ja on vetopohjainen, mikä tarkoittaa, että sovellukset saavat päivityksiä vain pyytäessään niitä.
Tapahtumaohjautuvassa mallissa vuorovaikutus alkaa, kun tapahtuma tapahtuu – merkityksellinen tilanmuutos liiketoimintajärjestelmässä – ja sovellukset reagoivat automaattisesti. Tapahtumavetoiset järjestelmät ovat asynkronisia, joten tuottajat julkaisevat tapahtumia odottamatta kuluttajan vastausta. Tämä push-pohjainen, löyhästi kytketty malli mahdollistaa sovellusten itsenäisen toiminnan ja tapahtumien käsittelyn reaaliaikaisesti hajautetuissa, hybridi- ja monipilviympäristöissä.
Tapahtumavetoisen arkkitehtuurin tärkeimmät osatekijät ovat tuottajat, kuluttajat, tapahtumavälittäjät ja tapahtumakanavat. Yhdessä nämä komponentit luovat asynkronisen, löyhästi kytketyn tapahtumavirran, joka mahdollistaa reaaliaikaisen ja skaalautuvan vuorovaikutuksen hajautetuissa, hybridi- ja monipilviympäristöissä:
- Tuottajat: Sovellukset, jotka luovat tai tallentavat tapahtumia, kuten tilauspäivityksiä, maksuja ja sensorilukemia, ja julkaisevat ne tapahtumaohjautuvassa järjestelmässä
- Kuluttajat: tilaa, käsittele ja reagoi tapahtumiin käynnistämällä työnkulkuja, päivittämällä tietoja, lähettämällä ilmoituksia tai käynnistämällä seuraavia prosesseja
- Tapahtumavälittäjät: Viesti-väliohjelmisto, joka reitittää tapahtumat tuottajilta kuluttajille, tarjoten ominaisuuksia, kuten luotettava toimitus, suodatus, dynaaminen reititys, pysyvyys ja toisto
- Tapahtumakanavat: Pathways the Event meklari hoitaa tuottajia ja kuluttajia: tuottajat julkaisevat tapahtumia kanavalle ja kuluttajat tilaavat heille relevantit kanavat
Tapahtumaohjatut arkkitehtuurimallit ovat uudelleenkäytettäviä suunnittelumalleja, jotka määrittävät, miten tapahtumat tallennetaan, reititetään, tallennetaan ja kulutetaan tapahtumaohjatussa järjestelmässä. Tärkeimmät tapahtumalähtöiset arkkitehtuurimallit ovat seuraavat:
- Julkaise/tilaa (pub/sub): Tuottajat julkaisevat tapahtumia kanavalle, ja useat kuluttajat tilaavat ja reagoivat automaattisesti.
- Tapahtuman suoratoisto: Tuottajat julkaisevat jatkuvasti tapahtumavirtoja välittäjälle, ja kuluttajat voivat lukea, toistaa tai käsitellä näitä tapahtumia missä tahansa vaiheessa virtaa.
- Komentokyselyvastuiden erottelu (CQRS): luku- ja kirjoitusoperaatiot on erotettu eri malleihin päivitysten välittämiseksi asynkronisesti.
- Tapahtuman kilpailutus: Järjestelmät tallentavat kaikki tilan muutokset muuttumattomana tapahtumana vain liitelokiin ja muodostavat sen jälkeen nykyisen tilan uudelleen toistamalla tapahtumat.
Tapahtumalähtöisen arkkitehtuurin tärkeimmät hyödyt ovat seuraavat:
- Löysä kytkentä: Sovellukset toimivat itsenäisesti tuntematta toistensa sisäosia, mikä mahdollistaa helpommat päivitykset, integraatiot ja laajennukset.
- Skaalautuvuus: Uusia tuottajia ja kuluttajia voidaan lisätä saumattomasti, ja työkuormat skaalautuvat hybridi- ja monipilviympäristöissä.
- Resilienssi: Irtikytketyt palvelut erottavat viat, jotta yksi komponentti voi laskea vaikuttamatta koko järjestelmään.
- Nopeus jareaaliaikainenreagointi: Asynkroninen, estävä viestintä mahdollistaa järjestelmien reagoinnin välittömästi liiketapahtumiin ja käsitellä suuria määriä pienellä viiveellä.
SAP-tuote
Tutustu SAP Integration Suiteen
Nopeuta innovaatiota tapahtumaohjautuvalla integraatiolla, tapahtumaverkolla, API-liittymillä ja reaaliaikaisilla prosesseilla.