O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Das Microservices-Praxisbuch

Book Description

Eberhard Wolff zeigt Microservices-Rezepte, die Architekten anpassen und zu einem Menü kombinieren können. So lässt sich die Implementierung der Microservices individuell auf die Anforderungen im Projekt anpassen.Das Buch leitet zunächst in Microservices, Self-contained Systems, Mikro- und Makro-Architektur und die Migration hin zu Microservices ein. Der zweite Teil zeigt die Microservices-Rezepte: Basis-Technologien wie Docker oder PaaS, Frontend-Integration mit Links, JavaScript oder ESI (Edge Side Includes). Es schließen sich asynchrone Microservices mit Apache Kafka oder REST / Atom an.Leser erhalten das technische Rüstzeug, um eine Microservices-Architektur umzusetzen. Demo-Projekte und Anregungen für die Vertiefung im Selbststudium runden das Buch ab.

Table of Contents

  1. Cover
  2. Über den Autor
  3. Titel
  4. Impressum
  5. Inhaltsübersicht
  6. Inhaltsverzeichnis
  7. Einleitung
  8. Teil I Architekturgrundlagen
    1. 1 Microservices
      1. 1.1 Microservices: Definition
      2. 1.2 Gründe für Microservices
      3. 1.3 Herausforderungen
      4. 1.4 Independent-Systems-Architecture-Prinzipien (ISA)
      5. 1.5 Bedingungen
      6. 1.6 Prinzipien
      7. 1.7 Bewertung
      8. 1.8 Variationen
      9. 1.9 Fazit
    2. 2 Mikro- und Makro-Architektur
      1. 2.1 Bounded Context und Strategic Design
      2. 2.2 Technische Mikro- und Makro-Architektur
      3. 2.3 Betrieb: Mikro- oder Makro-Architektur
      4. 2.4 Mikro-Architektur bevorzugen!
      5. 2.5 Organisatorische Aspekte
      6. 2.6 Variationen
      7. 2.7 Fazit
    3. 3 Self-contained System (SCS)
      1. 3.1 Gründe für den Begriff Self-contained Systems
      2. 3.2 Self-contained Systems: Definition
      3. 3.3 Ein Beispiel
      4. 3.4 SCS und Microservices
      5. 3.5 Herausforderungen
      6. 3.6 Variationen
      7. 3.7 Fazit
    4. 4 Migration
      1. 4.1 Gründe für eine Migration
      2. 4.2 Typische Migrationsstrategie
      3. 4.3 Alternative Strategien
      4. 4.4 Build, Betrieb und Organisation
      5. 4.5 Variationen
      6. 4.6 Fazit
  9. Teil II Technologie-Stacks
    1. 5 Docker-Einführung
      1. 5.1 Docker für Microservices: Gründe
      2. 5.2 Docker-Grundlagen
      3. 5.3 Docker-Installation und Docker-Kommandos
      4. 5.4 Docker-Hosts mit Docker Machine installieren
      5. 5.5 Dockerfiles
      6. 5.6 Docker Compose
      7. 5.7 Variationen
      8. 5.8 Fazit
    2. 6 Technische Mikro-Architektur
      1. 6.1 Anforderungen
      2. 6.2 Reactive
      3. 6.3 Spring Boot
      4. 6.4 Go
      5. 6.5 Variationen
      6. 6.6 Fazit
    3. 7 Konzept: Frontend-Integration
      1. 7.1 Frontend: Monolith oder modular?
      2. 7.2 Optionen
      3. 7.3 Resource-oriented Client Architecture (ROCA)
      4. 7.4 Herausforderungen
      5. 7.5 Vorteile
      6. 7.6 Variationen
      7. 7.7 Fazit
    4. 8 Rezept: Links und clientseitige Integration
      1. 8.1 Überblick
      2. 8.2 Beispiel
      3. 8.3 Rezept-Variationen
      4. 8.4 Experimente
      5. 8.5 Fazit
    5. 9 Rezept: serverseitige Integration mit Edge Side Includes (ESI)
      1. 9.1 ESI: Konzepte
      2. 9.2 Beispiel
      3. 9.3 Varnish
      4. 9.4 Rezept-Variationen
      5. 9.5 Experimente
      6. 9.6 Fazit
    6. 10 Konzept: Asynchrone Microservices
      1. 10.1 Definition
      2. 10.2 Events
      3. 10.3 Herausforderungen
      4. 10.4 Vorteile
      5. 10.5 Variationen
      6. 10.6 Fazit
    7. 11 Rezept: Messaging und Kafka
      1. 11.1 Message-oriented Middleware (MOM)
      2. 11.2 Die Architektur von Kafka
      3. 11.3 Events mit Kafka
      4. 11.4 Beispiel
      5. 11.5 Rezept-Variationen
      6. 11.6 Experimente
      7. 11.7 Fazit
    8. 12 Rezept: Asynchrone Kommunikation mit Atom und REST
      1. 12.1 Das Atom-Format
      2. 12.2 Beispiel
      3. 12.3 Rezept-Variationen
      4. 12.4 Experimente
      5. 12.5 Fazit
    9. 13 Konzept: Synchrone Microservices
      1. 13.1 Definition
      2. 13.2 Herausforderungen
      3. 13.3 Vorteile
      4. 13.4 Variationen
      5. 13.5 Fazit
    10. 14 Rezept: REST mit dem Netflix-Stack
      1. 14.1 Beispiel
      2. 14.2 Eureka: Service Discovery
      3. 14.3 Router: Zuul
      4. 14.4 Lastverteilung: Ribbon
      5. 14.5 Resilience: Hystrix
      6. 14.6 Rezept-Variationen
      7. 14.7 Experimente
      8. 14.8 Fazit
    11. 15 Rezept: REST mit Consul und Apache httpd
      1. 15.1 Beispiel
      2. 15.2 Service Discovery: Consul
      3. 15.3 Routing: Apache httpd
      4. 15.4 Consul Template
      5. 15.5 Consul und Spring Boot
      6. 15.6 DNS und Registrator
      7. 15.7 Rezept-Variationen
      8. 15.8 Experimente
      9. 15.9 Fazit
    12. 16 Konzept: Microservices-Plattformen
      1. 16.1 Definition
      2. 16.2 Variationen
      3. 16.3 Fazit
    13. 17 Rezept: Docker-Container mit Kubernetes
      1. 17.1 Kubernetes
      2. 17.2 Das Beispiel mit Kubernetes
      3. 17.3 Beispiel im Detail
      4. 17.4 Weitere Kubernetes-Features
      5. 17.5 Rezept-Variationen
      6. 17.6 Experimente
      7. 17.7 Fazit
    14. 18 Rezept: PaaS mit Cloud Foundry
      1. 18.1 PaaS: Definition
      2. 18.2 Cloud Foundry
      3. 18.3 Das Beispiel mit Cloud Foundry
      4. 18.4 Rezept-Variationen
      5. 18.5 Experimente
      6. 18.6 Serverless
      7. 18.7 Fazit
  10. Teil III Betrieb
    1. 19 Konzept: Betrieb
      1. 19.1 Warum Betrieb wichtig ist
      2. 19.2 Ansätze für den Betrieb von Microservices
      3. 19.3 Auswirkungen der behandelten Technologien
      4. 19.4 Fazit
    2. 20 Rezept: Monitoring mit Prometheus
      1. 20.1 Grundlagen
      2. 20.2 Metriken bei Microservices
      3. 20.3 Metriken mit Prometheus
      4. 20.4 Beispiel mit Prometheus
      5. 20.5 Rezept-Variationen
      6. 20.6 Experimente
      7. 20.7 Fazit
    3. 21 Rezept: Log-Analyse mit dem Elastic Stack
      1. 21.1 Grundlagen
      2. 21.2 Logging mit dem Elastic Stack
      3. 21.3 Beispiel
      4. 21.4 Rezept-Variationen
      5. 21.5 Experimente
      6. 21.6 Fazit
    4. 22 Rezept: Tracing mit Zipkin
      1. 22.1 Grundlagen
      2. 22.2 Tracing mit Zipkin
      3. 22.3 Beispiel
      4. 22.4 Rezept-Variationen
      5. 22.5 Fazit
    5. 23 Und nun?
  11. Anhang
    1. A Installation der Umgebung
    2. B Maven-Kommandos
    3. C Docker- und Docker-Compose-Kommandos
    4. Index
  12. Fußnoten