Mikroservicearkitektur är en tjänsteorienterad arkitektur. I mikrotjänstarkitekturen finns det ett stort antal mikrotjänster . Genom att kombinera alla mikrotjänsterna skapar den en stor tjänst. I mikrotjänstarkitekturen kommunicerar alla tjänster med varandra.
I den Mikrotjänster tutorial kommer vi att förstå hur man implementerar mikrotjänster med hjälp av Vårmoln . Vi kommer att lära oss hur man etablerar kommunikation mellan mikrotjänster, Gör det möjligt lastbalansering , skala upp och ned av mikrotjänster . Det ska vi också lära oss centralisera konfigurationen av mikrotjänster med Spring Cloud Config Server . Vi kommer att genomföra Eureka namnserver och Distribuerad spårning med Spring Cloud Sleuth och Zipkin . Vi kommer att skapa feltolerans mikrotjänster med Zipkin .
Vår mikrotjänster handledning diskuterar de grundläggande funktionerna för Mikroservicearkitektur tillsammans med relevanta exempel för enkel förståelse.
Linux kör cmd
Vad är mikrotjänster
Definition : Enligt Sam Newman , 'Mikrotjänster är de små tjänsterna som fungerar tillsammans.'
Enligt James Lewis och Martin Fowler , 'Mikrotjänstens arkitektoniska stil är ett sätt att utveckla en enda applikation som en svit av små tjänster. Varje mikrotjänst kör sin process och kommunicerar med lättviktsmekanismer. Dessa tjänster är uppbyggda kring affärsmöjligheter och utvecklade oberoende av helt automatiserade distributionsmaskiner.'
Det finns ett absolut minimum av centraliserad hantering av dessa tjänster, som kan vara skrivna på olika programmeringsspråk och använda olika datalagringstekniker.
Punkter att komma ihåg
- Dessa är de tjänster som exponeras av REST.
- Dessa är små väl utvalda insatsbara enheter.
- Tjänsterna måste vara molnaktiverade.
Mikrotjänsten definierar ett förhållningssätt till arkitekturen som delar upp en applikation i en pool av löst kopplade tjänster som implementerar affärskrav. Den ligger bredvid Serviceorienterad arkitektur (SOA) . Den viktigaste egenskapen hos den mikrotjänstbaserade arkitekturen är att den kan prestera kontinuerlig leverans av en stor och komplex applikation.
Microservice hjälper till att bryta applikationen och bygga en logiskt oberoende mindre applikationer. Till exempel kan vi bygga en molnapplikation med hjälp av Amazon AWS med minimala ansträngningar.
I figuren ovan har varje mikrotjänst sitt eget affärslager och databas. Om vi byter i en mikrotjänst påverkar det inte de andra tjänsterna. Dessa tjänster kommunicerar med varandra genom att använda lätta protokoll som HTTP eller REST eller meddelandeprotokoll.
Principer för mikrotjänster
Det finns följande principer för Microservices:
- Principen om ett enda ansvar
- Modellerad kring affärsdomän
- Isolera misslyckande
- Infrastrukturautomation
- Distribuera självständigt
Principen om ett enda ansvar
Enansvarsprincipen säger att en klass eller en modul i ett program endast ska ha ett ansvar. En mikrotjänst kan inte ha mer än ett ansvar åt gången.
Modellerad kring affärsdomän
Microservice begränsar sig aldrig från att acceptera lämplig teknikstack eller databas. Stacken eller databasen är bäst lämpad för att lösa affärssyftet.
Isolerat misslyckande
Den stora applikationen kan förbli opåverkad av fel på en enda modul. Det är möjligt att en tjänst kan misslyckas när som helst. Så det är viktigt att upptäcka fel snabbt, om möjligt automatiskt återställa fel.
Infrastrukturautomation
Infrastrukturautomatisering är processen för skriptmiljöer. Med hjälp av skriptmiljö kan vi tillämpa samma konfiguration på en enda nod eller tusentals noder. Det är också känt som konfigurationshantering, skriptbaserade infrastrukturer och systemkonfigurationshantering.
Distribuera självständigt
Mikrotjänster är plattformsoberoende. Det betyder att vi kan designa och distribuera dem oberoende utan att påverka de andra tjänsterna.
Publik
Vår handledning för mikrotjänster är designad för mjukvaruproffs och nybörjare som vill lära sig mikrotjänsterarkitektur i enkla steg. Denna handledning kommer att ge dig en djupgående kunskap om mikrotjänsters arkitektur och dess komponenter som RabbitMQ Server, Eureka Naming Server, Zuul API Gateway, Ribbon, Hystrix, och Zipkin-server . Efter att ha slutfört denna handledning kan du utveckla mikrotjänster med Vårmoln .
Förutsättningar
Innan du fortsätter med den här handledningen bör du ha en grundläggande förståelse för Java , Vår, och Vårmoln Ramverk. För vi ska utveckla mikrotjänster med Spring Cloud.
Problem
Vi försäkrar dig om att du inte kommer att hitta några problem med handledningen för mikrotjänster. Om det är något fel, vänligen posta problemet i kontaktformuläret.