da

Hvordan det virker?

Har du brug for hjælp til erhvervslivet?

Kontakt os for et personligt FinMV-tilbud, der er skræddersyet til dine behov.

Monolitisk eller mikroservice?

Den tekniske direktør for din virksomhed skal, når den planlægger lanceringen af en finansiel platform, vælge en projektarkitektur. Hvilke arkitekturmuligheder er tilgængelige for ham, og hvilken er bedre at vælge?

Start med den enkleste arkitektur, der holder grænserne klare

En ny investeringsplatform har ét team, én deployment og én database. Omkostningen ved et distribueret system på dette stadie går udelukkende til overhead: netværkskald, hvor et funktionskald ville have gjort det, eventuel konsistens, hvor en transaktion ville have gjort det, og en driftsbyrde, som ingen er bemandet til.

Derfor er standardimplementeringen modulær: onboarding, tilbud, investeringer, betalinger, dokumenter, servicering og rapportering lever bag eksplicitte grænser inden for ét deploybart system. Det, der gør den modulær, er ikke mappestrukturen, men at hvert modul har en kontrakt, ejer sine egne data og er dækket af sine egne tests.

En tjeneste udskilles, når der er en grund til det

Et modul bliver til en separat tjeneste, når der er en konkret grund, og disse grunde er forretningsmæssige, ikke arkitektoniske modeluner:

  • skala — en del af systemet skal kunne vokse eller fejle uafhængigt af resten
  • sikkerhed — en grænse har brug for stærkere isolation, end et modul inden for én proces kan give
  • compliance — en tilsynsmyndighed eller revision kræver adskillelse af beføjelser eller data
  • deployment — en del skal udgives med en anden kadence eller af et andet team
  • integrationer — et eksternt system dikterer sin egen profil for tilgængelighed og gennemløb
  • organisation — forskellige teams skal eje forskellige ting uden at koordinere hver eneste release

Fordi grænserne og kontrakterne allerede findes, er udskillelsen af en tjeneste en planlagt operation, ikke en omskrivning. Det er hele pointen med at bygge på denne måde: muligheden forbliver åben og forbliver billig.

Asynkronitet, hvor det kan betale sig

Arbejde, der ikke må blokere en bruger — afstemning af opgørelser, dokumentgenerering, callbacks fra udbydere, rapportering — kører gennem køer. Meddelelsesmæglere som RabbitMQ eller Kafka kommer i spil, når gennemløb eller integrationstopologi berettiger dem, ikke som standard. PostgreSQL forbliver systemet for optegnelser; Redis bruges der, hvor der virkelig er brug for hurtig caching eller koordination.

Hvad vi ikke gør

Vi sælger ikke en monolit, og vi sælger ikke mikrotjenester. Begge dele er svar på spørgsmål, der endnu ikke er stillet. Vi bygger heller ikke et distribueret system for at få platformen til at se solid ud — arkitekturteater er dyrt at drive og svært at overdrage.

Din arkitektur vælges ud fra din skala, dine regulatoriske forpligtelser, dine integrationer og størrelsen på det team, der skal drive den — og den er designet til at kunne ændre sig, når de ændrer sig.