Det låter som om du beskriver
Microservices .
Här är varför:
* Utför en specifik uppgift: Mikroservices är utformade för att vara små, oberoende kodenheter som var och en fokuserar på en enda, väl definierad funktion. Till exempel kan du ha en mikroservice för användarverifiering, en annan för att hantera beställningar och en annan för hantering av betalningar.
* placerad med andra servrar till flera uppgifter: Mikroservices kan distribueras oberoende och skalas upp eller ner efter behov. Detta gör att du kan bygga komplexa applikationer genom att kombinera flera tjänster, var och en körs på sin egen server eller kluster av servrar.
Andra relevanta villkor:
* Serverless: Medan mikroservices ofta distribueras på servrar, tar den "serverlösa" metoden ytterligare behovet av serverhantering. I det här fallet kan du distribuera dina mikroservices till en serverlös plattform som AWS Lambda eller Google Cloud -funktioner, och plattformen hanterar infrastrukturen för dig.
* containerisering: Mikroservices förpackas ofta och distribueras i containrar, till exempel Docker, som ger en lätt och bärbar miljö för tjänsten att köra i. Detta gör det lättare att distribuera och hantera mikroservices i olika miljöer.
Fördelar med mikroservices:
* Ökad smidighet och flexibilitet: Mikroservices låter dig göra ändringar i en tjänst utan att påverka andra, göra utvecklingen snabbare och enklare.
* Förbättrad skalbarhet: Du kan skala enskilda tjänster oberoende, vilket kan leda till bättre resursanvändning och kostnadsbesparingar.
* Felisolering: Om en mikroservice misslyckas tar det inte ner hela applikationen.
* Teknisk mångfald: Du kan använda olika programmeringsspråk och teknik för olika tjänster, vilket ger dig mer frihet i ditt val av verktyg.
Exempel:
Låt oss säga att du bygger en e-handelsplattform. Du kan använda en mikroservicearkitektur för att hantera olika uppgifter som:
* Produktkatalog: Hantera produktinformation och tillgänglighet.
* kundvagn: Hantera kundorder och lager.
* Betalningsbehandling: Hantera säkra transaktioner.
* Användarverifiering: Autentisera och hantera användarkonton.
Var och en av dessa tjänster kan distribueras på sin egen server eller kluster av servrar, och de kan skalas upp eller ner oberoende efter behov.