lt

Kaip tai veikia?

Monolitinis ar mikroservisas?

Jūsų įmonės techninis direktorius, planuodamas finansinės platformos paleidimą, turės pasirinkti projekto architektūros variantą. Kokios architektūros galimybės jam prieinamos ir kurią geriau pasirinkti?

Pradėkite nuo paprasčiausios architektūros, išlaikančios ribas

Naujoje investicijų platformoje yra viena komanda, vienas diegimas ir viena duomenų bazė. Šiame etape paskirstytos sistemos kaina visa atitenka pridėtinėms sąnaudoms: tinklo iškvietimams ten, kur pakaktų funkcijos iškvietimo, galutinio nuoseklumo ten, kur pakaktų tranzakcijos, ir eksploatacinei naštai, kuriai nėra žmonių.

Todėl numatytasis įgyvendinimas yra modulinis: onboardingas, pasiūlymai, investicijos, mokėjimai, dokumentai, aptarnavimas ir ataskaitų teikimas gyvena už aiškių ribų vienoje diegiamoje sistemoje. Modulinę ją daro ne aplankų struktūra, o tai, kad kiekvienas modulis turi sutartį, savo duomenis ir savo testus.

Paslauga išskiriama, kai tam yra priežastis

Modulis tampa atskira paslauga esant konkrečiam pagrindui, o šie pagrindai yra verslo, o ne mados diktuojami:

  • mastas — sistemos dalis turi augti arba sugesti nepriklausomai nuo likusios dalies
  • saugumas — ribai reikia stipresnės izoliacijos, nei suteikia modulis viename procese
  • atitiktis — reguliuotojas ar auditas reikalauja pareigų arba duomenų atskyrimo
  • diegimas — dalis turi būti išleidžiama kitu dažnumu arba kitos komandos
  • integracijos — išorinė sistema diktuoja savo prieinamumo ir apkrovos profilį
  • organizacija — skirtingoms komandoms reikia valdyti skirtingus dalykus nesuderinant kiekvieno leidimo

Kadangi ribos ir sutartys jau egzistuoja, paslaugos išskyrimas yra planuota operacija, o ne perrašymas. Būtent tai ir yra prasmė: galimybė lieka atvira ir pigi.

Asinchroniškumas ten, kur jis pasiteisina

Darbas, kuris neturi blokuoti vartotojo — atsiskaitymų sutikrinimas, dokumentų generavimas, tiekėjų atgalinis ryšys (callback), ataskaitų teikimas — vyksta per eiles. Pranešimų tarpininkai, tokie kaip RabbitMQ ar Kafka, atsiranda tada, kai tai pateisina apkrova ar integracijų topologija, o ne pagal numatytuosius nustatymus. PostgreSQL lieka įrašų sistema; Redis naudojamas ten, kur tikrai reikia greito talpyklos (cache) ar koordinavimo.

Ko mes nedarome

Mes neparduodame monolito ir neparduodame mikropaslaugų. Abu jie yra atsakymai į klausimus, kurių dar niekas neuždavė. Taip pat mes nekuriame paskirstytos sistemos vien tam, kad platforma atrodytų solidžiai: architektūros teatras brangiai kainuoja eksploatuoti ir sunkiai perduodamas.

Architektūra parenkama pagal jūsų mastą, reguliavimo įsipareigojimus, integracijas ir komandos, kuri ją eksploatuos, dydį — ir sukurta taip, kad galėtų keistis kartu su jais.