Kursplan
Införandet
- System- och tjänstarkitektur, PaaS och molnbaserad design
Översikt över monolitisk systemarkitektur
- Köra en hel monolitisk programfunktion i en enda process
- ScalaAnvändbarhet genom replikering över flera servrar
- Protokoll som används i monolitiska system: EAI, CORBA, etc.
Översikt över webbtjänster
- Tjänsteorienterad arkitektur (SOA) och Microservices arkitektur
Service-Oriented Architecture (SOA)
- Fördelar och kostnader för SOA
- Framgångar och misslyckanden med att implementera SOA
- Meddelanden och ESB
- Infrastruktur och verktyg som stöder SOA
Hur Microservices Implementera webbtjänstbegrepp
- Gör en sak och gör det bra
- DevOps
- Kontinuerlig distribution och leverans (kontinuerlig integrering, kontinuerlig byggprocess osv.)
- Lätta protokoll
Protokoll och standarder för mikrotjänster
- HTTP, JMS, AMQP, Websockets, JSON osv.
Utvecklingsramar för byggande Microservices
- Java-baserade ramverk (Spring Cloud)
- Javaskriptbaserade ramverk (Seneca)
Dela upp ett monolitprogram
- Utveckla oberoende distribuerbara program
- Organisera mikrotjänstprogram kring affärsfunktioner
- Fallstudie: Migrera ett monolitprogram till tre kärnmikrotjänster
Inrättande av en Spring Cloud utvecklingsmiljö
- Ställa in Docker och Docker Skriv
- Ställa in miljövariabler
Översikt över Spring Cloud och Spring Boot
- Spring Cloud Delprojekt: Config Server & Bus, Eureka, Ribbon, Feign och Hystrix
- Spring Boot
Skapa ett Spring Boot-program
Centraliserad, versionshanterad konfigurationshantering med Spring Cloud Config
Dynamiska konfigurationsuppdateringar med Spring Cloud Bus
Tjänstidentifiering med Eureka
Belastningsutjämning med menyfliksområdet
Applicering av säkringar med Hystrix
Deklarativa REST-klienter med Feign
Arbeta med API Gateway
Skydda ett mikrotjänstprogram
Spåra mikrotjänster för att upptäcka svarstider
Distribuera Microservices
- Behållare (Docker, K8N, LXC, etc...)
- Configuration Management (Ansible, osv...)
- Identifiering av tjänst
- Övervakning och förvaltning Microservices
- Infrastruktur för Microservices
Moln och Auto ScalaAnvändbarhet av Microservices
- Redundans och redundans för mikrotjänster
- Skalbarhet för prestanda för Microservices
- Automatisk skalbarhet
- Implementera Microservices på OpenStack, AWS och andra molnplattformar
Felsöka vanliga problem för distribuerade program
- Ekosystemets komplexitet
- Nätverkets prestanda
- Säkerhet
- Utplacering
- Provning
- Nano-tjänster
Slutliga överväganden för att bygga produktionsklara system
- Gör systemet enkelt för nybörjare
- Att göra systemet komplett så att det kan fungera som grund för företagsapplikationer
Sammanfattning och slutsats
Krav
- En förståelse för mjukvaru- och systemteknik
- Erfarenhet av Java-utveckling
- Erfarenhet av Spring Framework
Publik
- Java utvecklare som snabbt vill bygga och distribuera mikrotjänster
- Systemarkitekter som vill implementera en mikrotjänstarkitektur