Peter Bourgon on Gossip, Paxos, Microservices in Go, and CRDTs at SoundCloud
Jan 27, 2017•40 min
Episode description
Peter Bourgon discusses his work at Weaveworks, discovering and imlemeting CRDTs for time-stamped events at Soundcloud, Microservices in Go with Go Kit and the state of package management in Go.
Why listen to this podcast:
- We’ve hit the limits of Moore’s law so when we want to scale we have to think about how we do communication across unreliable links between unreliable machines.
- In an AP algorithm like Gossip you still make forward progress in case of a failure. In Paxos you stop and return failures.
- CRDTs give us a rigours set of rules to accommodate failures for maps, sets etc. in communication that result in am eventually consistent system.
- Go is optimised to readers/maintainers vs. making the programmers’ life easier. Go is closer to C than Java in that it allows you to layout memory very precisely, allowing you to, for example, optimise cache lines in your CPU.
- Bourgon started a project called Go Kit, which is designed for building microservices in Go. It takes inspiration from Tiwtter’s Scala-based Finagle which solved a lot of Micoservice concerns.
- Go has a number of community-maintained package managers but no good solution; work in ongoing to try and resolve this.
Notes and links can be found on: http://bit.ly/2kaHC9k
Work at Weaveworks
Gossip vs. Paxos
CRDTs at SoundCloud
Go
Go in large teams
Go and Java package management
Microservices in Go with Go Kit
Logging and tracing in a distributed environment
More on this:
Quick scan our curated show notes on InfoQ. http://bit.ly/2kaHC9k
You can also subscribe to the InfoQ newsletter to receive weekly updates on the hottest topics from professional software development. bit.ly/24x3IVq
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast