Det høres ut som om du beskriver
mikroservices .
Her er grunnen:
* Utfør en spesifikk oppgave: Mikroservices er designet for å være små, uavhengige kodeenheter som hvert fokuserer på en enkelt, veldefinert funksjon. For eksempel kan du ha en mikroservice for brukerautentisering, en annen for å administrere bestillinger og en annen for håndtering av betalinger.
* plassert med andre servere til flere oppgaver: Mikroservices kan distribueres uavhengig og skaleres opp eller ned etter behov. Dette lar deg bygge komplekse applikasjoner ved å kombinere flere tjenester, som hver kjører på sin egen server eller klynge av servere.
Andre relevante vilkår:
* serverløs: Mens mikroservices ofte blir distribuert på servere, fjerner den "serverløse" tilnærmingen behovet for serveradministrasjon ytterligere. I dette tilfellet kan du distribuere mikroservices til en serverløs plattform som AWS Lambda eller Google Cloud -funksjoner, og plattformen håndterer infrastrukturen for deg.
* Containerisering: Mikroservices er ofte pakket og distribuert i containere, for eksempel Docker, som gir et lett og bærbart miljø for tjenesten å løpe i. Dette gjør det lettere å distribuere og administrere mikroservices i forskjellige miljøer.
Fordeler med mikroservices:
* økt smidighet og fleksibilitet: Mikroservices lar deg gjøre endringer i en tjeneste uten å påvirke andre, noe som gjør utviklingen raskere og enklere.
* Forbedret skalerbarhet: Du kan skalere individuelle tjenester uavhengig, noe som fører til bedre ressursutnyttelse og kostnadsbesparelser.
* Feilisolasjon: Hvis en mikroservice mislykkes, gir den ikke ned hele applikasjonen.
* Teknologimangfold: Du kan bruke forskjellige programmeringsspråk og teknologier for forskjellige tjenester, og gi deg mer frihet i ditt valg av verktøy.
Eksempel:
La oss si at du bygger en e-handelsplattform. Du kan bruke en mikroservicearkitektur for å håndtere forskjellige oppgaver som:
* Produktkatalog: Administrere produktinformasjon og tilgjengelighet.
* handlekurv: Administrere kundebestillinger og inventar.
* Betalingsbehandling: Håndtering av sikre transaksjoner.
* Brukerautentisering: Autentiserende og administrere brukerkontoer.
Hver av disse tjenestene kan distribueres på sin egen server eller klynge av servere, og de kan skaleres opp eller ned uavhengig etter behov.