Det lyder som om du beskriver
mikroservices .
Her er hvorfor:
* Udfør en bestemt opgave: Microservices er designet til at være små, uafhængige kodenheder, der hver fokuserer på en enkelt, veldefineret funktion. For eksempel har du muligvis en mikroservice til brugergodkendelse, en anden til styring af ordrer og en anden til håndtering af betalinger.
* placeret med andre servere til flere opgaver: Mikroservices kan implementeres uafhængigt og skaleres op eller ned efter behov. Dette giver dig mulighed for at opbygge komplekse applikationer ved at kombinere flere tjenester, der hver kører på sin egen server eller klynge af servere.
Andre relevante udtryk:
* serverløs: Mens mikroservices ofte implementeres på servere, fjerner den "serverløse" tilgang yderligere behovet for serverstyring. I dette tilfælde kan du implementere dine mikroservices til en serverløs platform som AWS Lambda eller Google Cloud -funktioner, og platformen håndterer infrastrukturen for dig.
* containerisering: Mikroservices pakkes ofte og implementeres i containere, såsom Docker, der giver et let og bærbart miljø for tjenesten at køre i. Dette gør det lettere at implementere og styre mikroservices på tværs af forskellige miljøer.
Fordele ved mikroservices:
* øget smidighed og fleksibilitet: Microservices giver dig mulighed for at foretage ændringer i en tjeneste uden at påvirke andre, hvilket gør udviklingen hurtigere og lettere.
* Forbedret skalerbarhed: Du kan skalere individuelle tjenester uafhængigt, hvilket fører til bedre ressourceudnyttelse og omkostningsbesparelser.
* fejlisolering: Hvis en mikroservice mislykkes, nedbringer den ikke hele applikationen.
* Teknologidiversitet: Du kan bruge forskellige programmeringssprog og teknologier til forskellige tjenester, hvilket giver dig mere frihed i dit valg af værktøjer.
Eksempel:
Lad os sige, at du bygger en e-handelsplatform. Du kan bruge en mikroservice -arkitektur til at håndtere forskellige opgaver som:
* Produktkatalog: Håndtering af produktinformation og tilgængelighed.
* indkøbskurv: Håndtering af kundeordrer og lager.
* Betalingsbehandling: Håndtering af sikre transaktioner.
* Brugergodkendelse: Autentificering og styring af brugerkonti.
Hver af disse tjenester kunne implementeres på sin egen server eller klynge af servere, og de kunne skaleres op eller ned uafhængigt efter behov.