Mikroservice arkitektur er en serviceorienteret arkitektur. I mikroservicearkitekturen er der et stort antal mikrotjenester . Ved at kombinere alle mikrotjenesterne konstruerer den en stor tjeneste. I mikroservicearkitekturen kommunikerer alle tjenesterne med hinanden.
I den Mikrotjenester tutorial, vil vi forstå, hvordan man implementerer mikrotjenester ved hjælp af Forårssky . Vi vil lære at etablere kommunikation mellem mikrotjenester, aktivere belastningsbalancering , op- og nedskalering af mikrotjenester . Det vil vi også lære centralisere konfigurationen af mikrotjenester med Spring Cloud Config Server . Vi vil implementere Eureka navngivningsserver og Distribueret sporing med Spring Cloud Sleuth og Zipkin . Vi vil oprette fejltolerance mikrotjenester med Zipkin .
Vores mikrotjenester tutorial diskuterer de grundlæggende funktioner i Mikroservice arkitektur sammen med relevante eksempler for nem forståelse.
Hvad er mikrotjenester
Definition : Ifølge Sam Newman , 'Mikrotjenester er de små tjenester, der arbejder sammen.'
Ifølge James Lewis og Martin Fowler , 'Mikroservice arkitektoniske stil er en tilgang til at udvikle en enkelt applikation som en suite af små tjenester. Hver mikroservice kører sin proces og kommunikerer med letvægtsmekanismer. Disse tjenester er bygget op omkring forretningsmuligheder og uafhængigt udviklet af fuldt automatiseret implementeringsmaskineri.'
Der er et minimum af centraliseret styring af disse tjenester, som kan være skrevet i forskellige programmeringssprog og bruge forskellige datalagringsteknologier.
Punkter at huske
- Det er de tjenester, som er eksponeret af REST.
- Det er små velvalgte deployerbare enheder.
- Tjenesterne skal være cloud-aktiverede.
Mikrotjenesten definerer en tilgang til arkitekturen, der opdeler en applikation i en pulje af løst koblede tjenester, der implementerer forretningskrav. Det er ved siden af Serviceorienteret arkitektur (SOA) . Den vigtigste egenskab ved den mikroservice-baserede arkitektur er, at den kan præstere løbende levering af en stor og kompleks applikation.
Microservice hjælper med at bryde applikationen og bygge en logisk uafhængig mindre applikation. For eksempel kan vi bygge en cloud-applikation ved hjælp af Amazon AWS med minimal indsats.
I ovenstående figur har hver mikroservice sit eget forretningslag og database. Hvis vi ændrer i én mikrotjeneste, påvirker det ikke de andre tjenester. Disse tjenester kommunikerer med hinanden ved at bruge lette protokoller såsom HTTP eller REST eller meddelelsesprotokoller.
Principper for mikrotjenester
Der er følgende principper for Microservices:
- Princippet om enkelt ansvar
- Modelleret omkring forretningsdomæne
- Isoleringsfejl
- Infrastruktur automatisering
- Implementer selvstændigt
Enkelt ansvarsprincip
Enkeltansvarsprincippet siger, at en klasse eller et modul i en uddannelse kun skal have ét ansvar. Enhver mikroservice kan ikke varetage mere end ét ansvar ad gangen.
Modelleret omkring forretningsdomæne
Microservice begrænser sig aldrig til at acceptere passende teknologistack eller database. Stakken eller databasen er bedst egnet til at løse forretningsformålet.
Isoleret fiasko
Den store applikation kan stort set forblive upåvirket af svigt af et enkelt modul. Det er muligt, at en tjeneste kan fejle til enhver tid. Så det er vigtigt at opdage fejl hurtigt, hvis det er muligt, automatisk gendanne fejl.
Infrastruktur automatisering
Infrastrukturautomatisering er processen med scriptingmiljøer. Ved hjælp af et scriptmiljø kan vi anvende den samme konfiguration på en enkelt node eller tusindvis af noder. Det er også kendt som konfigurationsstyring, scriptede infrastrukturer og systemkonfigurationsstyring.
Implementer selvstændigt
Mikrotjenester er platformagnostiske. Det betyder, at vi kan designe og implementere dem uafhængigt uden at påvirke de andre tjenester.
Publikum
Vores mikroservicetutorial er designet til softwareprofessionelle og begyndere, der ønsker at lære mikroservicearkitektur i lette trin. Denne tutorial vil give dig et indgående kendskab til mikrotjenesters arkitektur og dens komponenter som RabbitMQ Server, Eureka Navneserver, Zuul API Gateway, Ribbon, Hystrix, og Zipkin server . Efter at have gennemført denne tutorial, kan du udvikle dig mikroservicetjenester med Forårssky .
Forudsætninger
Før du fortsætter med denne vejledning, bør du have en grundlæggende forståelse af Java , Forår, og Forårssky Ramme. Fordi vi skal udvikle mikrotjenester ved hjælp af Spring Cloud.
Problem
Vi forsikrer dig om, at du ikke vil finde noget problem med mikroservicevejledningen. Hvis der er nogen fejl, bedes du skrive problemet i kontaktformularen.