Asynchrones Go (Golang): Das vollständige Handbuch
300 Seiten
German
PDF
4.5

Asynchrones Go (Golang): Das vollständige Handbuch

Asynchrones Go (Golang): Das vollständige Handbuch

Autor:

Jahr:

Zusammenfassung:

Dieses Buch ist ein umfassender Leitfaden zur asynchronen und nebenläufigen Programmierung in der Sprache Go (Golang). Im Gegensatz zu vielen anderen Sprachen, in denen Asynchronität ein nachträglicher Zusatz ist, ist sie in Go tief im Kern der Sprache verankert. Der Autor, Alexey Vetrov, ein Senior-Entwickler mit 10 Jahren Erfahrung, enthüllt konsequent alle Aspekte der Arbeit mit Parallelität, von den Grundlagen bis hin zu komplexen Production-Patterns.



Was Sie aus dem Buch lernen werden:

  • Goroutines: Wie man leichtgewichtige Threads erstellt, ihren Lebenszyklus verwaltet und Lecks vermeidet.
  • Channels: Gepufferte und ungepufferte, unidirektionale, fan-in/fan-out-Patterns, select.
  • Synchronisation: Mutexe (sync.Mutex), RWMutex, atomare Operationen, wait groups, once, cond.
  • Context: Übertragung von Abbruchsignalen, Deadlines und Werten zwischen Goroutinen.
  • Fortgeschrittene Patterns: pipeline, worker pool, rate limiting, graceful shutdown, paralleles map/reduce.
  • Fehlerbehandlung in asynchronem Code: errgroup, panic recovery, structured logging.
  • Testen von nebenläufigem Code: race detector, Lasttests, Mock-Objekte.


Für wen dieses Buch ist:

  • Go-Entwickler, die von sequenziellem zu asynchronem Code übergehen möchten.
  • Backend-Ingenieure, die hochlastige Dienste und Microservices erstellen.
  • Programmierer, die von anderen Sprachen (Python, Java, C#) zu Go wechseln und dessen Philosophie der Nebenläufigkeit erlernen möchten.
  • Team Leads, die bewährte Praktiken für die Arbeit mit Parallelität in ihrem Team einführen möchten.


Warum Sie dieses Buch lesen sollten:

Nebenläufigkeit ist eines der schwierigsten Themen in der Programmierung. Fehler in asynchronem Code (Deadlocks, Race Conditions, Goroutine Leaks) sind schwer zu finden und zu reproduzieren. Dieses Buch bietet nicht nur Theorie, sondern in der Praxis erprobte Lösungen. Jedes Pattern wird von funktionierendem Code, Diagrammen und Erklärungen begleitet, warum genau dieser Ansatz richtig ist. Sie lernen, in Begriffen von Goroutinen und Channels zu denken, anstatt in blockierenden Aufrufen.



Besonderes Augenmerk wird auf typische Fallstricke gelegt: wie man Daten bei der Verwendung von Channels nicht verliert, wie man Goroutinen korrekt beendet und wie man Paniken in nebenläufigem Code vermeidet. Das Buch ist so aufgebaut, dass es sowohl sequenziell gelesen als auch als Nachschlagewerk für spezifische Patterns verwendet werden kann.



Nach der Lektüre werden Sie in der Lage sein, asynchrone Systeme jeder Komplexität sicher zu entwerfen: von einfachen Webservern bis hin zu verteilten Event-Handlern und Stream-Prozessoren.

Empfehlungen