cs

Jak to funguje?

Potřebujete pomoc s podnikáním?

Kontaktujte nás pro personalizovanou nabídku FinMV přizpůsobenou vašim potřebám.

Monolitický nebo mikroservis?

Technický ředitel vaší společnosti bude muset při plánování spuštění finanční platformy zvolit variantu architektury projektu. Jaké možnosti architektury má k dispozici a kterou je lepší zvolit?

Začněte s nejjednodušší architekturou, která zachovává hranice

Nová investiční platforma má jeden tým, jedno nasazení a jednu databázi. Náklady na distribuovaný systém v této fázi jdou zcela do režijních nákladů: síťová volání tam, kde by stačilo volání funkce, konečná konzistence tam, kde by stačila transakce, a provozní zátěž, na kterou nejsou lidé.

Proto je výchozí implementace modulární: onboarding, nabídky, investice, platby, dokumenty, servis a reporting žijí za explicitními hranicemi v rámci jednoho nasaditelného systému. Modulární ji nedělá struktura složek, ale to, že každý modul má kontrakt, vlastní data a vlastní testy.

Služba se vyčleňuje, když je k tomu důvod

Modul se stává samostatnou službou z konkrétního důvodu, a tyto důvody jsou obchodní, ne módní:

  • škála — část systému musí růst nebo selhávat nezávisle na zbytku
  • bezpečnost — hranice potřebuje silnější izolaci, než jakou dává modul v rámci jednoho procesu
  • compliance — regulátor nebo audit vyžadují oddělení pravomocí nebo dat
  • nasazení — část se vydává s jinou periodicitou nebo jiným týmem
  • integrace — externí systém diktuje svůj profil dostupnosti a zátěže
  • organizace — různé týmy potřebují vlastnit různé věci bez koordinace každého vydání

Protože hranice a kontrakty už existují, vyčlenění služby je plánovaná operace, ne přepis. V tom je smysl: možnost zůstává otevřená a zůstává levná.

Asynchronost tam, kde se osvědčí

Práce, která nesmí blokovat uživatele — odsouhlasení plateb, generování dokumentů, callbacky poskytovatelů, reporting — probíhá přes fronty. Zprostředkovatelé zpráv jako RabbitMQ nebo Kafka se objevují tehdy, kdy to opodstatňuje zátěž nebo topologie integrací, ne jako výchozí volba. PostgreSQL zůstává systémem záznamu; Redis se používá tam, kde je skutečně potřeba rychlá vyrovnávací paměť nebo koordinace.

Co neděláme

Neprodáváme monolit a neprodáváme mikroslužby. Obojí jsou odpovědi na otázky, které ještě nikdo nepoložil. Také nebudujeme distribuovaný systém kvůli solidnímu vzhledu: architektonické divadlo je drahé na provoz a obtížné na předání.

Architektura se volí podle vaší škály, regulatorních povinností, integrací a velikosti týmu, který ji bude provozovat — a je navržena tak, aby se mohla měnit spolu s nimi.