Home

mikrotjänstbaserad

Mikrotjänstbaserad arkitektur är en mjukvaruarkitektur där en applikation byggs av flera små, självständiga tjänster (mikrotjänster) som tillsammans uppfyller affärsbehoven. Varje tjänst encapsulerar en specifik affärsfunktion och äger ofta sin egen datamodell och sin egen distribution. Tjänsterna kommunicerar med varandra via lättviktiga protokoll, vanligtvis HTTP/REST eller gRPC, och är avsedda att kunna utvecklas, testas, uppgraderas och köras oberoende av varandra.

Egenskaperna inkluderar att varje mikrotjänst har ett tydligt ansvarsområde (bounded context), autonomt teamansvar och stöd för

Fördelarna inkluderar ökad skalbarhet och felisolering, snabbare och mer oberoende uppdateringar, samt möjlighet att anpassa teknikval

Praktiska riktlinjer omfattar domändriven design för tydliga tjänstgränser, kontraktsbaserad API-design, central loggning och distribuerad tracing, CI/CD-pipelines,

kontinuerlig
leverans.
Teknikvalen
kan
vara
olika
mellan
tjänsterna
(polyglot
programming),
och
infrastrukturen
ofta
bygger
på
containerisering
och
orkestrering,
till
exempel
Docker
och
Kubernetes.
Dataägd
av
varje
tjänst
innebär
att
lagring
ofta
är
per
tjänst
och
att
kommunikation
mellan
tjänster
kan
ske
både
synkront
och
asynkront,
vilket
ofta
leder
till
eventual
consistency
och
behov
av
robust
felhantering,
retry-mekanismer
och
idempotens.
efter
varje
tjänsts
behov.
Utmaningar
innefattar
ökad
komplexitet
i
distribuerade
system,
nätverkslatens
och
felhantering,
svårare
transaktions-
och
datakonsistensfrågor
samt
högre
operativt
underhåll
och
övervakning.
observability,
säkerhet
vid
API-gränssnittet,
samt
infrastruktur
som
kod
och
användning
av
kontainerisering
och
tjänstenätverk
som
service
mesh.