Peter Bourgon on the history of Go kits and what ' s next

Source: Internet
Author: User
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!
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.