Leistung von Go (Golang)-Anwendungen
Leistung von Go (Golang)-Anwendungen
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
Testen mit JavaScript
Sicherheit von TypeScript-Anwendungen: Von Schwachstellen zum Schutz
Architektur von Swift (iOS/macOS) Anwendungen. Muster und Praktiken
Professionelles JavaScript (Node.js): fortgeschrittene Techniken
Step Ahead with Rust (Schritt voraus mit Rust)
Essential PHP Security. Sicherheit von PHP-Anwendungen