Leistung von Go (Golang)-Anwendungen
300 Seiten
German
PDF
4.5

Leistung von Go (Golang)-Anwendungen

Leistung von Go (Golang)-Anwendungen

Autor:

Jahr:

Zusammenfassung:

Das Buch „Leistung von Go (Golang)-Anwendungen“ ist ein praktischer Leitfaden für Entwickler, die schnellen, effizienten und skalierbaren Code in Go schreiben möchten. Im Gegensatz zu allgemeinen Lehrbüchern konzentriert sich dieses Buch ausschließlich auf die Leistung: von Mikrooptimierungen bis hin zu architektonischen Entscheidungen.



Für wen ist dieses Buch:

  • Go-Entwickler mit mindestens 1 Jahr Erfahrung, die in der Produktion auf Leistungsprobleme gestoßen sind.
  • Ingenieure, die von anderen Sprachen zu Go wechseln und die Besonderheiten seiner Laufzeitumgebung verstehen möchten.
  • DevOps- und SRE-Spezialisten, die für die Optimierung von Diensten verantwortlich sind.
  • Alle, die die Latenz und den Ressourcenverbrauch in ihren Go-Anwendungen reduzieren möchten.


Was Sie lernen werden:

  • Wie Sie integrierte Profiling-Tools (pprof, trace) verwenden, um Engpässe zu finden.
  • Optimierung der Speicherverwaltung: Garbage Collection, Allokationen, Objektpools und Zero-Copy.
  • Schreiben effizienter nebenläufiger Programme: Goroutinen, Kanäle, sync.Pool und Muster zur Parallelitätsbegrenzung.
  • Reduzierung der Antwortzeit (Latenz): Benchmarking, algorithmische Optimierungen, Arbeit mit Netzwerkaufrufen.
  • CPU- und Speicherprofiling, Analyse von Blockaden und Goroutine-Leaks.
  • Optimierung der Ein-/Ausgabe: Pufferung, Kompression, Arbeit mit Dateien und Sockets.
  • Leistungs-Antipatterns und Möglichkeiten, diese zu beheben.
  • Integration von Profiling in CI/CD zur automatischen Überwachung von Regressionen.


Das Buch basiert auf realen Beispielen aus der Erfahrung des Autors – von Mikrodiensten bis hin zu hochbelasteten APIs. Jedes Kapitel enthält Code, der sofort in einem Projekt angewendet werden kann. Sie lernen nicht nur, Code zu „beschleunigen“, sondern fundierte Entscheidungen zu treffen: wann eine Optimierung gerechtfertigt ist und wann sie verfrüht ist.



Besonderes Augenmerk liegt auf modernen Ansätzen: Verwendung von Go 1.21+ (neue Pakete slices, maps, sync.Map), Generics für Leistungsdienstprogramme sowie die Arbeit mit CGo und Assembler an kritischen Stellen.



Nach der Lektüre werden Sie in der Lage sein:

  • Den Speicherverbrauch um 30–50 % zu reduzieren, ohne die Lesbarkeit des Codes zu beeinträchtigen.
  • Die API-Antwortzeit durch korrekte Arbeit mit Nebenläufigkeit um das 2- bis 3-fache zu senken.
  • Goroutine- und Speicherlecks in Minuten zu finden und zu beheben.
  • Systeme zu bauen, die Tausende von Anfragen pro Sekunde mit minimalen Ressourcen bewältigen.


Dies ist kein Sprachhandbuch, sondern konzentrierte Erfahrung, um Go-Anwendungen zu maximaler Effizienz zu führen. Geeignet für diejenigen, die aufhören möchten, „im Trüben zu fischen“, und beginnen möchten, zu messen, zu profilen und zu verbessern.

Empfehlungen