Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Go kit - A Distributed Programming Toolkit
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Mark Wolfe
November 25, 2015
Programming
150
0
Share
Go kit - A Distributed Programming Toolkit
Presented at the microservices meetup in Melbourne, Australia
Mark Wolfe
November 25, 2015
More Decks by Mark Wolfe
See All by Mark Wolfe
IP Networking in AWS
wolfeidau
0
79
Getting Into Vue.js
wolfeidau
0
200
AWS Automation With Lambda
wolfeidau
1
99
Ansible and Cloudformation
wolfeidau
1
240
Docker Security
wolfeidau
0
200
Building a Proxy in Go
wolfeidau
2
400
Using JWT to Authenticate Microservices
wolfeidau
1
260
Managing Secrets IN AWS
wolfeidau
0
160
ESPlant Workshop Firmware Overview and Demos
wolfeidau
0
140
Other Decks in Programming
See All in Programming
Agentic UI beyond Chats Architecture Patterns & Open Standards @ngMunich 05/2026
manfredsteyer
PRO
0
180
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
390
ふつうのFeature Flag実践入門
irof
7
3.3k
Lemonade + Foundry Toolkit でお手軽アプリ開発
seosoft
1
230
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
210
サーバーレスで作る、動画データ管理基盤
oyasumipants
0
320
iOS26時代の新規アプリ開発
yuukiw00w
0
220
プロパティの順序で型推論が壊れる!? TypeScript6.0の修正からContext-Sensitivityの仕組みを追う
bicstone
2
1.3k
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
420
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
180
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
470
New "Type" system on PicoRuby
pocke
1
380
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
BBQ
matthewcrist
89
10k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
55k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
410
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
How to build a perfect <img>
jonoalderson
1
5.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Tell your own story through comics
letsgokoyo
1
930
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Transcript
Go kit A Distributed Programming Toolkit
Intro • Mark Wolfe • DevOps at Versent • IoT
& Distributed Systems
go-kit?! • Composable • Opinionated • Service Orientated • Simple
to Deploy
Server Package • Go interfaces • Provides: • Encoding/Decoding •
Tracing and Health • Transport, Rate Limiting and Throttling • Discovery
Client Package • Go interfaces • Provides: • Encoding/Decoding •
Transport, Pooling, Rate Limiting & Circuit Breaker • Tracing
!Important • Circuit Breaker • Stops thundering herds • prevents
sending requests that are likely to fail • Rate Limiter • Enforce upper thresholds on request throughput
Logging • Levels, e.g. Info, Error • Stdout, Stderr •
Keyvals or JSON // Output: // foo=123 // level=info // level=info msg=hello // level=info msg=hello a=1 b=2
Discovery • Inbuilt Service Discovery • DNS Srv Record •
Etcd • Consul
Metrics! • Runtime, Application, Business • Counter, Histogram and Gauges
• Stdout, StatsD or Prometheus import "github.com/go-kit/kit/metrics/expvar" func main() { myCount := expvar.NewCounter("my_count") myCount.Add(1) }
Example Code!
Questions • @wolfeidau on Twitter • https://github.com/wolfeidau •
[email protected]
Links • Go Kit • Circuit Breaker Pattern • Dapper,
a Large-Scale Distributed Systems Tracing Infrastructure • The Zipkin distributed tracing project