Waqıyaǵa tiykarlanǵan arxitektura
Waqıyaǵa tiykarlanǵan arxitektura (qısq. WTA; ingl. Event-driven architecture; EDA) ‒ waqıyalardı payda etiw hám anıqlawǵa baylanıslı programmalıq támiynat arxitektura paradigması bolıp tabıladı. Waqıyaǵa tiykarlanǵan arxitekturalar tábiyatı boyınsha evolyuciyalıq bolıp, joqarı dárejeli qáte kóteriwshilik, ónimdarlıq hám masshtablanıwshılıqtı támiyinleydi. Biraq, olar quramalı hám tábiyatı boyınsha testlewge qıyın. WTA-lar quramalı hám dinamikalıq jumıs júklemeleri ushın jaqsı. [1]
Sholıw
Waqıya "jaǵdaydıń áhmiyetli ózgerisi" retinde anıqlanıwı múmkin. Mısalı, tutınıwshı avtomobil satıp alǵanda, avtomobildiń jaǵdayı "satıwda"dan "satıldı"ǵa ózgeredi. Avtomobil satıwshısınıń sistema arxitekturası bul halat ózgerisin arxitektura ishindegi basqa qosımshalarǵa bildiriliwi múmkin bolǵan waqıya retinde qarawı múmkin. Formal kóz-qarastan, payda etilgen, járiyalanǵan, tarqatılǵan, anıqlanǵan yaki paydalanılǵan nárse - bul waqıyanıń ózi emes, al (ádette asinxron) xabar dep atalatuǵın waqıya bildiriwi, al waqıyanıń ózi xabar jiberiwdi iske qosqan jaǵday ózgerisi bolıp tabıladı. Waqıyalar júrmeydi, olar tek júz beredi. Biraq, "waqıya" termini kóbinese metonimiyalıq túrde bildiriw xabarınıń ózin bildiriw ushın qollanıladı, bul ayırım bir aljasıwlarǵa alıp keliwi múmkin. Bunıń sebebi, waqıyaǵa tiykarlanǵan arxitekturalar kóbinese xabarǵa tiykarlanǵan arxitekturalar ústine dúziledi, bunda bunday baylanıs úlgisi hár bir baylanıstıń qalay isleniwi kerekligin ayırıw ushın kirislerdiń biriniń tek tekst bolıwın talap etedi.
Bul arxitekturalıq úlgi erkin baylanısqan baǵdarlamalıq támiynat komponentleri hám xızmetleri arasında waqıyalardı jetkizetuǵın qosımshalar hám sistemalardı joybarlaw hám ámelge asırıwda qollanılıwı múmkin. Waqıya menen basqarılatuǵın sistema ádette waqıya jiberiwshiler (yaki agentler), waqıya tutınıwshıları (yaki qabıllawshılar) hám waqıya kanallarınan turadı. Jiberiwshiler waqıyalardı anıqlaw, jıynaw hám jetkiziw juwapkershiligine iye. Waqıya jiberiwshi waqıyanıń tutınıwshıların bilmeydi, hátte tutınıwshı bar-joqlıǵın da bilmeydi, al eger ol bar bolsa, waqıyanıń qalay paydalanılatuǵının yamasa onnan keyin qayta islenetuǵının bilmeydi. Qabıllawshılar waqıya usınılǵannan keyin reakciyanı qollanıw juwapkershiligine iye. Reakciya tolıq qabıllawshınıń ózi tárepinen támiyinleniwi múmkin yaki támiyinlenbewi múmkin. Mısal ushın, qabıllawshı tek waqıyanı súziw, transformaciyalaw hám basqa komponentke jiberiw juwapkershiligine iye bolıwı yaki bunday waqıyaǵa óz-ózinen reakciya támiyinlewi múmkin. Waqıya kanalları waqıya jiberiwshilerinen waqıya tutınıwshılarına waqıyalar jetkiziletuǵın ótkergishler bolıp tabıladı. Waqıyalardı durıs bólistiriw bilimi tek waqıya kanalında bar. Waqıya kanallarınıń fizikalıq ámelge asırılıwı xabarǵa-baǵdarlanǵan aralıq baǵdarlamalıq támiynat yaki punkt-punkt baylanısı sıyaqlı dástúrli komponentlerge tiykarlanıwı múmkin, bul kóbirek tiyisli tranzakciyalıq atqarıw freymvorkın talap etiwi múmkin.
Waqıyalar menen basqarılatuǵın arxitektura átirapında sistemalar dúziw bólistirilgen esaplaw modellerinde gorizontal masshtablanıwdı ápiwayılastıradı hám olardı isten shıǵıwǵa kóbirek shıdamlı etedi. Sebebi qosımsha jaǵdayı joqarı ashıqlıq ushın bir neshe parallel súwretler arqalı kóshiriliwi múmkin. Jańa waqıyalar hár jerde baslanıwı múmkin, biraq eń áhmiyetlisi, olar maǵlıwmat saqlaw orınlarınıń tarmaǵı arqalı tarqalıp, hár birin kelgende jańartadı. Qosımsha túyinlerdi qosıw da ápiwayı boladı: siz qosımsha jaǵdayınıń kóshirmesin alıp, oǵan waqıyalar aǵımın berip, onı islete alasız.
Waqıyalar menen basqarılatuǵın arxitektura xızmetke-baǵdarlanǵan arxitekturanı (SOA) tolıqtırıwı múmkin, sebebi xızmetler kirip atırǵan waqıyalarda atılǵan triggerler arqalı aktivlestiriliwi múmkin.[2][3] Bul paradigma ásirese qabıllawshı óz-ózinen atqarıwdı támiyinlemegen jaǵdayda paydalı.
SOA 2.0 SOA hám EDA arxitekturalarınıń tásirlerin burınnan belgisiz aqıbet baylanısların paydalanıp jańa waqıya úlgisin qáliplestiriw arqalı keńirek, kóbirek bekkem dárejege jetkizedi. Bul jańa biznes intellekt úlgisi burınnan jetisiw múmkin bolmaǵan tanılǵan úlgige qımbatlı qosımsha informaciyanı qosıw arqalı kárxanaǵa eksponencial qımbatlılıq qosatuǵın onnan keyin óz aldına adam yaki avtomatlastırılǵan qayta islewdi qozǵaydı.
Topologiyalar
Waqıyaǵa-baǵdarlanǵan arxitekturanıń eki tiykarǵı topologiyası bar: "broker topologiyası", onda komponentler waqıyalardı hesh qanday orkestratorsız pútkil sistemaǵa tarqatadı. Bul eń joqarı ónimdarlıq penen masshtablanıwdı támiyinleydi. Al "mediator topologiyasında" waqıyalar aǵımın basqaratuǵın oraylıq orkestrator boladı. Bul jaqsıraq basqarıw hám qátelerdi islew múmkinshiliklerin beredi. Siz gibrid modelin de qollap, bul eki topologiyanı birgelikte paydalana alasız.
Waqıya túrleri
EDA-da waqıyalardıń hár qıylı túrleri bar, hám olardıń klassifikaciyası boyınsha pikirler hár túrli bolıwı múmkin. Yan Cuydıń aytıwınsha, waqıyalardıń eki tiykarǵı kategoriyası bar: [4]
Domen waqıyaları
Domen waqıyaları belgili bir biznes domeninde áhmiyetli waqıyalardı bildiredi. Bul waqıyalar belgilengen kontekst penen sheklengen hám biznes logikasın saqlaw ushın áhmiyetli. Ádette, domen waqıyalarınıń júkleri jeńilirek bolıp, tek qayta islew ushın zárúr informaciyanı óz ishine aladı. Onıń sebebi, waqıya tıńlawshıları ádette talapları anıǵıraq túsinilgen birdey xızmet ishinde boladı.
Integraciya waqıyaları
Ekinshi tárepten, integraciya waqıyaları hár qıylı sheklengen kontekstler arasında ózgerislerdi xabarlaw ushın xızmet etedi. Olar pútkil sistema boyınsha maǵlıwmatlar izbe-izligin támiyinlew ushın áhmiyetli. Integraciya waqıyalarınıń potencial tıńlawshılardıń talapları ádewir ózgeshe bolıwı múmkin bolǵanlıqtan, qosımsha atributları menen kóbirek quramalı júkleri boladı. Bul kóbinese barlıq tiyisli informaciyanıń nátiyjeli bólisiliwin támiyinlew ushın artıq xabarlasıwǵa alıp keletuǵın baylanıs boyınsha tolıǵıraq kózqarasqa alıp keledi.
Waqıya strukturası
Waqıya eki bólimnen: waqıya bası hám waqıya denesinen (waqıya júgi dep te ataladı) ibarat bolıwı múmkin. Waqıya basına waqıya ataması, waqıya ushın waqıt móri hám waqıya túri sıyaqlı informaciya kirgiziliwi múmkin. Waqıya júgi anıqlanǵan jaǵday ózgerisi haqqında tolıq maǵlıwmat beredi. Waqıya denesin waqıyanıń óziniń júz beriwine juwap retinde qollanılıwı múmkin bolǵan úlgi yaki logika menen aljastırmaw kerek.
Waqıyaǵa-baǵdarlanǵan arxitekturada waqıya júklerin strukturalawdıń eki tiykarǵı usılı bar:
- Barlıq kerekli atributlardı júkte qosıw múmkin: Bul usıl tezlikti hám masshtablanıwdı jaqsılaydı, biraq bir neshe jazba sistemaları bolǵanlıqtan, maǵlıwmatlar izbe-izligi mashqalalarına alıp keliwi múmkin. Sonıń menen bir qatarda, ol masshtablanıwda mór juplasıwı hám ótkiziw qábileti mashqalaların keltirip shıǵarıwı múmkin.
- Bul usıl tek giltler yamasa ID-lerdi óz ishine alıp, tutınıwshılarǵa maǵlıwmatlar bazaları sıyaqlı sırtqı maǵlıwmatlar bazalarınan kerekli maǵlıwmatlardı alıwǵa múmkinshilik beredi. Bul kózqaras maǵlıwmatlar bazası sorawlarınıń zárúrligi sebepli masshtablanbaytuǵın hám ásterek bolsa da, ótkiziw qábiletin paydalanıwdı minimallastıradı hám juplasıw mashqalaların azaytadı.
Bul usıllar binar tańlawlardan góre spektrdiń eki ushın kórsetedi. Arxitektorlar waqıya tutınıwshılarınıń specifikalıq mútájliklerin qanaatlandırıw ushın waqıya júkleriniń ólshemlerin kewilge alıw menen belgilewi kerek.
Antiúlgiler (Antipatterns)
- Mark Richards tárepinen oylap tabılgan "Taymaut Antiúlgisi" (Timeout AntiPattern) bólistirilgen sistemalarda taymaut mánislerin ornatıw máselelerin súwretleydi. Qısqa taymautlar nızamlı sorawlardı waqtınan aldın ámelge asırmawı múmkin, bul quramalı aylanıs jollarına alıp keledi, al uzaq taymautlar qáte jawaplardıń basımıraq bolıwına hám paydalanıwshı tájiriybesiniń jaman bolıwına alıp keliwi múmkin. Sxema Úzgish Úlgisi (Circuit Breaker Pattern) júrek soǵıwları, "sintetikalıq tranzakciyalar" yaki real waqıtta paydalanıwdı baqlaw sıyaqlı mexanizmler arqalı xızmet salamatlıǵın baqlaw arqalı bul máselelerdi sheshiwi múmkin. Bul kózqaras qátelerdiń tezirek anıqlanıwına imkaniyat jaratadı hám bólistirilgen arxitekturalarda ulıwma paydalanıwshı tájiriybesin jaqsılaydı. [5]
Waqıya evolyuciyası strategiyaları
Waqıyalarǵa tiykarlanǵan arxitekturalarda waqıya evolyuciyası xızmetler arasındaǵı turaqsız waqıya sxemaların basqarıw hám sistemanı basqıshpa-basqısh jańalaw waqtında úylesimlikti támiyinlew sıyaqlı máselelerdi keltirip shıǵaradı. Waqıyalarǵa tiykarlanǵan arxitekturalardaǵı (EDA) waqıya evolyuciyası strategiyaları sistemalardıń úziliksiz ózgerislerdi buzılıwsız isley alıwın támiyinley aladı. Bul strategiyalar artqa hám alǵa úylesimlikti saqlaw ushın semantikalıq versiyalaw yaki sxema evolyuciyası sıyaqlı waqıyalardı versiyalawdı óz ishine alıwı múmkin. Adapterler komponentler arasında turaqlı islewdi támiyinlep, eski hám jańa formatlar arasında waqıyalardı awdara aladı. Bul usıllar sistemalardıń quramalı, bólistirilgen ortalıqlarda úylesimli hám isenimli bolıwı menen birge, evolyuciyalanıwına imkaniyat jaratadı. [6]
Derekler
- ↑ Richards, Mark. Fundamentals of Software Architecture: An Engineering Approach. O'Reilly Media. ISBN 978-1492043454.
- ↑ Hanson. «Event-driven services in SOA». JavaWorld (31-yanvar 2005-jıl). Qaraldı: 21-iyul 2020-jıl.
- ↑ Sliwa. «Event-driven architecture poised for wide adoption». Computerworld (12-may 2003-jıl). Qaraldı: 21-iyul 2020-jıl.
- ↑ Cui, Yan. Serverless Architectures on AWS. Manning. ISBN 978-1617295423.
- ↑ Richards, Mark. Microservices AntiPatterns and Pitfalls. O'Reilly.
- ↑ Designing Event-Driven Systems. O'Reilly Media. ISBN 9781492038245.