Codebase list golang-github-go-kit-kit / 569f3ed
README.md reflecting gokit.io Peter Bourgon 9 years ago
1 changed file(s) with 60 addition(s) and 5 deletion(s). Raw diff Collapse all Expand all
00 # gokit
11
2 gokit is a working name for a **distributed programming toolkit** to serve the
3 needs of the modern service-oriented enterprise.
2 **gokit** is a working name for a **distributed programming toolkit** to serve the needs of the modern service-oriented enterprise.
43
5 - Visit [gokit.io](http://gokit.io) for an overview of the project.
6 - Join [the mailing list](https://groups.google.com/forum/#!forum/go-kit) for discussion.
7 - File [issues](https://github.com/peterbourgon/gokit/issues) for concrete ideas and feature requests.
4 - [GitHub repository](https://github.com/peterbourgon/gokit) -- RFCs, issues, PRs, etc.
5 - [go-kit mailing list](https://groups.google.com/forum/#!forum/go-kit)
6 - #gokit on [Freenode](https://freenode.net)
7
8 ## Motivation
9
10 See [the motivating blog post](http://peter.bourgon.org/go-kit) and, eventually, the video of the talk.
11
12 ## Goals
13
14 - Operate in a heterogeneous SOA -- expect to interact with mostly non-gokit services
15 - RPC as the messaging pattern
16 - Pluggable serialization and transport -- not just JSON over HTTP
17 - Zipkin-compatible request tracing
18 - _more TODO_
19
20 ## Non-goals
21
22 - Having opinions on deployment, orchestration, process supervision
23 - Having opinions on configuration passing -- flags vs. env vars vs. files vs. ...
24 - _more TODO_
25
26 ## Related projects
27
28 ### Service frameworks
29
30 - [Kite](https://github.com/koding/kite), a micro-service framework
31 - [go-micro](https://github.com/asim/go-micro), a microservices client/server library
32 - [gocircuit](https://github.com/gocircuit/circuit), dynamic cloud orchestration
33 - [gotalk](https://github.com/rsms/gotalk), async peer communication protocol & library
34
35 ### Individual components
36
37 - [afex/hystrix-go](https://github.com/afex/hystrix-go), client-side latency and fault tolerance library
38 - [streadway/handy](https://github.com/streadway/handy), net/http handler filters
39 - [rubyist/circuitbreaker](https://github.com/rubyist/circuitbreaker), circuit breaker library
40 - [spacemonkeygo/monitor](https://github.com/spacemonkeygo/monitor), data collection, monitoring, instrumentation, and Zipkin client library
41 - [mattheath/phosphor](https://github.com/mattheath/phosphor), distributed system tracing
42 - [codahale/lunk](https://github.com/codahale/lunk), structured logging in the style of Google's Dapper or Twitter's Zipkin
43 - [sourcegraph/apptrace](https://github.com/sourcegraph/apptrace), application tracing system based on Google's Dapper
44 - [eapache/go-resiliency](https://github.com/eapache/go-resiliency), resiliency patterns
45 - [FogCreek/logging](https://github.com/FogCreek/logging), a tagged style of logging
46 - [Sirupsen/logrus](https://github.com/Sirupsen/logrus), structured, pluggable logging for Go
47
48 ### Web frameworks
49
50 - [Gorilla](http://www.gorillatoolkit.org)
51 - [Revel](https://revel.github.io/)
52 - [Gin](https://gin-gonic.github.io/gin/)
53 - [Martini](https://github.com/go-martini/martini)
54 - [Negroni](https://github.com/codegangsta/negroni)
55 - [Goji](https://github.com/zenazn/goji)
56 - [Beego](http://beego.me/)
57
58 ## Additional reading
59
60 - [Dapper, a Large-Scale Distributed Systems Tracing Infrastructure](http://research.google.com/pubs/pub36356.html) -- Google
61 - [Your Server as a Function](http://monkey.org/~marius/funsrv.pdf) (PDF) -- Twitter
62 - [Architecting for the Cloud](http://fr.slideshare.net/stonse/architecting-for-the-cloud-using-netflixoss-codemash-workshop-29852233) -- Netflix