This is a creation in Article, where the information may have evolved or changed.
Peter Bourgon is the creator of Go Kit.
Strong majority of audience here have heard of Go kit.
What is Go kit?
Go Kit is a toolkit for microservices. In the early days, this meant something very specific at SoundCloud (where Peter worked at the time). They were using Finagle for microservices, but there wasn ' t a go equivalent, so Go started to lose favor among the team. Peter started Go kit to address this issue. Today Go Kit works for both strict microservices architectures and also "elegant monoliths" (monoliths that is separated Nicely into separate modules).
Github.com/go-kit/kit has 7,253 stars.
In the early days, he based it on finagle to a high level. In the early days there were RFCs to fill in the details and get useful feedback/discussion from the community. Using examples is key in grounding these discussions. Overall structure of the project hasn ' t really changed. They continued like this until June without any tagged versions.
A Brief History of Go kit
Initial commit:3 Feb 2015.
June 2016
- Contributors
- Open Tracing Stuff (Zipkin, Lightstep)
- First tagged version
- Go-kit Log
v0.2 to v0.4
- "Package Go-kit Log:this are how to logging should work in Go"
- Mapping from Xnet.context to std lib context
- Lots of bugs fixes
- Some breaking changes
V0.5:big Release
- Worked closely with Yuri on Uber (Jager and Zap Logger) to overhaul package SD. Uber apparently uses Go kits and package SD For most of their internal Go microservices
- Some breaking changes, but V0¯_ (Mitsujo) _/¯
Today (v0.6.0)
- Shooting for October-ish release date
- Want to refactor package metrics; Doesn ' t like using it
v1.0.0
- Targeting Jan 2018 Release (no promises!)
Todo
People has asked for
- Package Metrics Refactor
- Kitgen (Tackling verbosity problem in Go kit). Looking for people to take Peter's vision and translate to code (he can ' t handle dealing with Go AST package)!
- Different transport protocols (rabbit, Nats, Kafka, SQS)
- GRPC Streaming
- Whatever people at this meetup ask For!
Governance and call for contributors
- BDFL is okay so far, but it can be slow at times
- Would love to delegate more than in the past; Makes sense to delegate on a per-package basis. Precedent is Chris Hines ' work on and ownership of the package log, Bas van Beek on TRANSPORT/GRPC and tracing
- So if you want to contribute to a 7,253-star project, reach out!