Microservice-Architektur - Kurs 46.900 Rubel. vom IBS Training Center, Schulung 24 Stunden, Datum 27. November 2023.
Verschiedenes / / November 27, 2023
Die Microservice-Architektur (MSA) hat sich vor relativ kurzer Zeit als beliebtester Architekturansatz einen Namen gemacht. Sein Einsatz bietet viele Vorteile in verschiedenen Phasen des Produktlebenszyklus. Insbesondere ermöglicht MCA schnellere Reaktionszeiten auf Geschäftsanforderungen, wodurch es anderen Architekturstilen häufig überlegen ist.
Bei der Entwicklung von MCA-Systemen steht der Architekt jedoch vor vielen Herausforderungen, von denen viele Anfänger dazu veranlassen, einen Rückzieher zu machen.
Zerlegungsfehler können zu einem erheblichen Anstieg der Entwicklungskomplexität führen. Die Leistung leidet aufgrund der unüberwindbaren Netzwerklatenz. Die verteilte Datenspeicherung ermöglicht keine Transaktionskonsistenz. Eine große Anzahl von Komponenten, die über das Netzwerk interagieren, verringert die Zuverlässigkeit. Schwierig, die Sicherheit zu gewährleisten. Darüber hinaus erfordert das Testen und Warten eines verteilten Systems eine gesonderte Diskussion.
In diesem Kurs werden die Vor- und Nachteile der Verwendung von MCA aufgezeigt. Hilft Ihnen, eine fundierte Entscheidung über die Anwendbarkeit von ISA zu treffen, abhängig von den Anforderungen des Unternehmens und den Fähigkeiten des Teams. Der Kurs untersucht die Hauptprobleme im Zusammenhang mit der Implementierung einer Microservice-Architektur. Strategien, Mechanismen, Muster, die die oben genannten Probleme lösen. Für jedes besprochene Problem werden die gängigsten Tools vorgestellt (wie Kubernetes, Istio, Histryx, Kibana und viele andere).
Durch praktische Übungen erwerben Sie die Fähigkeit zur eigenständigen Gestaltung von MCA-Systemen.
Behandelten Themen:
1. Architekturstile (2 Stunden)
Konzepte von Monolith, SOA, MSA.
Vergleich und Begründung der Wahl.
2. MSA-Zersetzungsmuster (2 Stunden)
Optimale Microservice-Größe;
Aufschlüsselung der Dienstleistungen nach Geschäftsmöglichkeit;
Aufschlüsselung der Leistungen nach Problembereichen;
Praktiken zur Definition von Themenbereichen;
Aufteilung nach technischen und organisatorischen Gesichtspunkten.
3. Organisation der Entwicklung für MSA (1 Stunde)
Organisation von Teams nach MSA;
Organisation eines Code-Repositorys unter MSA.
4. Microservices-Integration (3 Stunden)
Interaktionsmuster;
Synchrone und asynchrone Interaktionsmechanismen;
Orchestrierung und Choreografie;
Grundlegende Protokolle und Technologien (REST, gRPC, GraphQL, Kafka, RabbitMQ usw.);
Interaktion mit externen Systemen (API Gateway, BFF);
Reaktive Systeme;
Ereignisgesteuerte Architekturen;
Trennung von Befehl und Anforderung.
5. Organisation der Arbeit mit Daten in MSA (3 Stunden)
Muster der Arbeit mit Daten;
Generieren von Ereignissen;
Referenzdaten in MSA;
Eine einzige Quelle der Wahrheit (Source of Truth) in MSA.
6. Grundlegende ISA-Vorlagen (9 Stunden)
Modifizierbarkeit.
Lösung des Problems der hohen Konnektivität. Versionierung von Schnittstellen und Ereignissen. Arten von Verträgen. Änderungen im Veranstaltungsmodell. Muster zum Organisieren von Anfragen. Microservice-Chassis. Service-Mesh.
Skalierbarkeit.
Muster zum Bau von Balancern. Erkennungsdienste und Muster für die Arbeit mit ihnen.
Leistung.
Leistungsmuster in MSA (Overkill, elegante Verschlechterung usw.).
Konsistenz.
Konsistenzprobleme in MSA. CAP-Theorem. Lösungen für Konsistenzprobleme. Zwei-Phasen-Commits. SAGA-Muster. Reduzierter Konsistenzgrad.
Zuverlässigkeit.
Fehlertoleranzmechanismen. Leistungsschaltermuster, Drosselung, abhängige Zeitüberschreitungen usw.
Sicherheit.
Sicherheitsmechanismen in MSA. Authentifizierung. Genehmigung. Perimeterschutz. Schutz der Kommunikationskanäle. Grundlegende Protokolle und Muster (OAUTH2, JWT, Gatekeeper, Valet Key usw.).
Testbarkeit.
Pyramiden- und Quadratprüfung. Funktionen zum Testen von Microservices.
Unit-Tests. Integrationstests. Komponententests. E2E-Tests. MSA-Testmuster.
Einfache Wartung.
Beobachtbarkeit. Überwachungsmuster (verteilte Ablaufverfolgung, Protokollaggregation). Überwachung und Protokollierung. Konfigurieren von Microservices. Externalisierung der Konfiguration. Systemunterstützung.
7. Bereitstellung von Microservices (2 Stunden)
Muster „Bereitstellungspipeline“;
Bereitstellungsmuster;
Verwendung von Docker- und Kubernetes-Technologien;
Verwendung des ISTIO-Rasters;
Serverlose Bereitstellung;
Bereitstellungsstrategien (blau-grün, kanarisch usw.).
8. Migrationsstrategien von Monolith zu MSA (2 Stunden)
Strategien für die Migration von Monolith zu Microservices;
Würgemonolith;
Strangulationsmuster;
Kommunikation zwischen einem Microservice und einem Monolithen;
Datenbankmigration.