Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grafana/dskit
Distributed systems kit
https://github.com/grafana/dskit
Last synced: 6 days ago
JSON representation
Distributed systems kit
- Host: GitHub
- URL: https://github.com/grafana/dskit
- Owner: grafana
- License: apache-2.0
- Created: 2021-08-04T14:54:12.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-25T16:37:14.000Z (9 days ago)
- Last Synced: 2024-10-26T08:08:06.402Z (9 days ago)
- Language: Go
- Size: 10.4 MB
- Stars: 472
- Watchers: 144
- Forks: 68
- Open Issues: 53
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - grafana/dskit - Distributed systems kit (Go)
README
# Grafana Dskit
This library contains utilities that are useful for building distributed
services, including:
- Exponential [backoff](https://github.com/grafana/dskit/tree/main/backoff) for retries.
- A common [cache](https://github.com/grafana/dskit/tree/main/cache) API, implemented for Memcached and Redis.
- [Hedging](https://github.com/grafana/dskit/tree/main/hedging), sending extra duplicate requests to improve the chance that one succeeds.
- A common [key-value](https://github.com/grafana/dskit/tree/main/kv) API, implemented for Consul, Etcd and Memberlist.
- RPC [middlewares](https://github.com/grafana/dskit/tree/main/middleware), for metrics, logging, etc.
- A [services model](https://github.com/grafana/dskit/tree/main/services), to manage start-up and shut-down.## Current state
This library is used at scale in production at Grafana Labs.
A number of packages were collected here from database-related projects:- [Mimir]
- [Loki]
- [Tempo]
- [Pyroscope][Mimir]: https://github.com/grafana/mimir
[Loki]: https://github.com/grafana/loki
[Tempo]: https://github.com/grafana/tempo
[Pyroscope]: https://github.com/grafana/pyroscope## Go version compatibility
This library aims to support at least the two latest Go minor releases.
## Contributing
If you're interested in contributing to this project:
- Start by reading the [Contributing guide](/CONTRIBUTING.md).
## License
[Apache 2.0 License](https://github.com/grafana/dskit/blob/main/LICENSE)