Docker
CoreOS
Kubernetes (Google)
InfluxDB
Used By?
Slide 4
Slide 4 text
It's a fast, statically typed,
compiled language that
feels like a dynamically typed,
interpreted language.
GoLang
Slide 5
Slide 5 text
Open Source
Language Design
Powerful Standard Library
Concurrency
GoLang Features
Slide 6
Slide 6 text
It is the composition of
independently executing units.
It is a way to structure code.
It is not parallelism.
Concurrency
Slide 7
Slide 7 text
Concurrency is about dealing
with lots of things at once.
Parallelism is about doing lots of
things at once.
Concurrency vs
Parallelism
Slide 8
Slide 8 text
Parallelism will not always result
in faster execution times.
Parallelism
Slide 9
Slide 9 text
We cannot add more and more
cache to the processor to
increase performance as cache
have physical limits: the bigger
the cache, the slower it gets.
Why we need
Concurrency?
Slide 10
Slide 10 text
A goroutine is a lightweight
thread managed by the Go
runtime.
The Goroutines are multiplexed
to a fewer number of OS threads.
Go Routines
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
Channels can be thought of as
pipes using which Goroutines
communicate.
Channels provides
synchronization and avoids race
conditions.
Channels