500 Resources
Golang distributed-configuration Libraries
A db proxy for distributed transaction, read write splitting and sharding! Support any language! It can be deployed as a sidecar in a pod.
DBPack DBPack means a database cluster tool pack. It can be deployed as a sidecar in a pod, it shields complex basic logic, so that business developme
Simple HTTP/HTTPS proxy - designed to be distributed as a self-contained binary that can be dropped in anywhere and run.
Simple Proxy This is a simple HTTP/HTTPS proxy - designed to be distributed as a self-contained binary that can be dropped in anywhere and run. Code b
Add, remove, and manage different versions of web-distributed software binaries. No elevated permissions required!
A cross-platform package manager for the web! Add, remove, and manage different versions of web-distributed software binaries. No elevated permissions
Ready to deploy, distributed cryptocurrency trading bot
HyperTrade Ready to deploy, distributed cryptocurrency trading bot. USE THIS SOFTWARE AT YOUR OWN RISK. THE AUTHOR ASSUMES NO LIABILITY FOR YOUR TRADI
MIT 6.824: Distributed Systems (Spring 2020)
MIT6.824 MIT 6.824: Distributed Systems (Spring 2020) Lab 1 Lab 2 Lab 2A Lab 2B Lab 2C Lab 2D Lab 3 Lab 3A Lab 3B Lab 4 Lab 4A Lab 4B Lab 4 Challenge
LazyXds enables Istio only push needed xDS to sidecars to reduce resource consumption and speed up xDS configuration propagation.
LazyXds LazyXds enables Istio only push needed xDS to sidecars to reduce resource consumption and speed up xDS configuration propagation. Problems to
Tasqueue is a simple, lightweight distributed job/worker implementation in Go
Tasqueue Tasqueue is a simple, lightweight distributed job/worker implementation in Go Concepts tasqueue.Broker is a generic interface that provides m
Minicache - Distributed cache implemented in Go. Like Redis but simpler.
Distributed cache with client-side consistent hashing, distributed leader-elections, and dynamic node discovery. Supports both HTTP/gRPC interfaces secured with mTLS.
Go-redisson: A redisson like distributed redis lock, support watchdog、reentrant lock
go-redisson a Redisson like distributed locking implementation using Redis. Installation go get github.com/cheerego/go-redisson Lock Category Mutex Ex
Golang distributed Slowloris attack 🦥
slowloris - Golang distributed Slowloris attack How it works Read the article 🦷 How to protect from it TBD Installation Run go install github.com/its
Kitten is a distributed file system optimized for small file storage, inspired by Facebook's Haystack.
Kitten is a distributed file system optimized for small file storage, inspired by Facebook's Haystack.
Distributed Commit Log from Travis Jeffery's Distributed Services book
proglog A distributed commit log. This repository follows the book "Distributed Services with Go" by Travis Jeffrey. The official repository for this
Tapestry is an underlying distributed object location and retrieval system (DOLR) which can be used to store and locate objects. This distributed system provides an interface for storing and retrieving key-value pairs.
Tapestry This project implements Tapestry, an underlying distributed object location and retrieval system (DOLR) which can be used to store and locate
Conversion from OpenAPI definitions to krakend configuration.
Description Basic conversion from OpenAPI specification to Krakend config. This is extendable with custom OpenAPI attributes and more support for both
Easy-to-use distributed multi-function current limiter.
go-limiter Easy-to-use distributed multi-function current limiter. Installation Run the following command under your project: go get -u github.com/NIC
Go-distributed-websocket - Distributed Web Socket with Golang and Redis
go-distributed-websocket Distributed Web Socket with Golang and Redis Dependenci
MyCache - A distributed cache based on GeeCache
借鉴GeeCache实现了MyCache(https://geektutu.com/post/geecache.html) 主要功能: 1.实现了fifo和lr
Demonstrate a bounded context distributed over multiple repositories. In `go`
Contextive Demo - Go - Service This repository illustrates the use of Contextive in an environment where multiple repositories are part of the same bo
Config-loader - Minimal and safe way to load in configuration files without any extra boilerplate, made for my own personal usage
💕 config-loader Minimal and safe way to load in configuration files without any
Use SQL to instantly query Algolia indexes and configuration. Open source CLI. No DB required
Use SQL to instantly query Algolia indexes and configuration. Open source CLI. No DB required
Simple CLI tool to backup presets & configuration from a WLED device
WLED Backup (wled-backup) Simple CLI tool to backup presets & configuration from a WLED device. Table of Contents Background Install Usage License Bac
A small utility to generate a kubectl configuration file for all clusters you have access to in GKE.
gke-config-helper A small utility to generate a kubectl configuration file for all clusters you have access to in GKE. Usage $ gke-config-helper The b
This Go based project of Aadhyarupam Innovators demonstrate the code examples for building microservices, integration with cloud services (Google Cloud Firestore), application configuration management (Viper) etc.
This Go based project of Aadhyarupam Innovators demonstrate the code examples for building microservices, integration with cloud services (Google Cloud Firestore), application configuration management (Viper) etc.
BlobStore is a highly reliable,highly available and ultra-large scale distributed storage system
BlobStore Overview Documents Build BlobStore Deploy BlobStore Manage BlobStore License Overview BlobStore is a highly reliable,highly available and ul
Esfmt - An opinionated, zero-configuration formatter for ES/TS/ESX/TSX
esfmt - an opinionated, zero-configuration formatter for ES/TS/ESX/TSX Status: t
Couchbase - distributed NoSQL cloud database
couchbase Couchbase is distributed NoSQL cloud database. create Scope CREATE SCO
Poc-krakend: Allows you to create, modify and delete enpoints in "configuration.json" without restart the application.
poc-krakend Description This POC is for test dynamic (Hot reload) routes in krakend. Allows you to create, modify and delete enpoints in "configuratio
Distributed-system - Practicing and learning the foundations of DS with Go
Distributed-System For practicing and learning the foundations of distributed sy
Etcd config dispenser
etcd-config-dispenser Some things are best explained with an example: I use lets
A library and binary to dump authentication configuration from etcd.
A libary and binary to dump authentication information from etcd. The commands are suitable for configuring an empty etcd cluster to get to the same authentication config.
Library for easy configuration of a golang service
go-conf - Configuration with less code Installation go get github.com/ThomasObenaus/go-conf What is go-conf? go-conf is a solution for handling config
Go utility for loading configuration parameters from AWS SSM (Parameter Store)
ssmconfig import "github.com/ianlopshire/go-ssm-config" SSMConfig is a utility for loading configuration parameters from AWS SSM (Parameter Store) dir
Tag based configuration loader from different providers
Gonfig Tag-based configuration parser which loads values from different providers into typesafe struct. Installation This package needs go version 1.1
Layer based configuration for golang
onion import "github.com/goraz/onion" Package onion is a layer based, pluggable config manager for golang. The current version in develop branch is w
Lightweight, zero-dependency, and extendable configuration management library for Go
uConfig Lightweight, zero-dependency, and extendable configuration management. uConfig is extremely light and extendable configuration management libr
Tool for creating identical machine images for multiple platforms from a single source configuration.
Packer Packer is a tool for building identical machine images for multiple platforms from a single source configuration. Packer is lightweight, runs o
Labs for MIT 6.824 Distributed Systems (Spring 2020)
6.824-2020-labs This repo contains labs for MIT 6.824 Distributed Systems (Spring 2020) The master branch contains the source code with no implementat
Disgo - A distributed lock based on redis developed with golang
English | 中文 DisGo Introduce DisGo is a distributed lock based on Redis, develop
free4.chat is an instant audio conferencing service
free4chat free4.chat is an instant audio conferencing service. It is designed by the local first and privacy first principle, and is very easy to use.
A Go distributed systems development framework
micro A Go distributed systems development framework framework eference resources base on go-micro support list grpc-balancer grpc-naming dns pool etc
Topology-tester - Application to easily test microservice topologies and distributed tracing including K8s and Istio
Topology Tester The Topology Tester app allows you to quickly build a dynamic mi
Example of a distributed voting app running on Kubernetes. Written in Golang with Terraform definitions to deploy to AWS EKS
Example of a distributed voting app running on Kubernetes. Written in Golang with Terraform definitions to deploy to AWS EKS
hivefleet is a distributed, scalable load-testing tool built in go that leverages Google Cloud Functions
hivefleet is a distributed, scalable load-testing tool built in go that leverages Google Cloud Functions
Dsf - Singleflight for distributed senerios
dsf: Distributed SingleFlight Inspired by singleflight, this package provides a
TODO_GO: a simple todo API created in Golang with a minimum number of dependencies and configuration
TODO_GO TODO_GO is a simple todo API created in Golang with a minimum number of
Quick and simple parser for PFSense XML configuration files, good for auditing firewall rules
pfcfg-parser version 0.0.1 : 13 January 2022 A quick and simple parser for PFSense XML configuration files to generate a plain text file of the main c
Example of trace instrumentation in Golang applications :bar_chart:
go-opentelemetry-example Example of trace instrumentation in Golang applications using the opentelemetry. Requirements/dependencies Docker Docker-comp
Go Micro: a standard library for distributed systems development
Go Micro Go Micro is a standard library for distributed systems development. Ove
Colorized logger for Golang with dynamic log level configuration
logmatic Colorized logger for Golang with dynamic log level configuration Documentation here: https://godoc.org/github.com/mborders/logmatic Example U
Uptrace - Distributed tracing backend using OpenTelemetry and ClickHouse
Distributed tracing backend using OpenTelemetry and ClickHouse Uptrace is a dist
Labs, solutions and related materials from the MIT 6.824 Distributed Systems course.
MIT 6.824 Distributed Systems Labs, solutions and related materials from the MIT 6.824 Distributed Systems course. Overview From the official website:
Dxc - Go implementation of DxChain3.0 protocol
DxChain 3.0 The Ecosystem Powered by DxChain 3.0 Smart Contract Platform While c
Distributed-Log-Service - Distributed Log Service With Golang
Distributed Log Service This project is essentially a result of my attempt to un
Hive-fleet: a distributed, scalable load-testing tool built in go that leverages Google Cloud Functions
hive-fleet hive-fleet is a distributed, scalable load-testing tool, built on top
Distributed-Services - Distributed Systems with Golang to consequently build a fully-fletched distributed service
Distributed-Services This project is essentially a result of my attempt to under
Colonies is a generic framework for implementing next-generation distributed applications and systems
Colonies is a generic framework for implementing next-generation distributed applications and systems. It can be used as a building block for grid computing or edge computing, e.g. implement a meta operating system or cloud-of-cloud platform that combines many execution environments into a new virtual computing environment that can be controlled using an single unified API.
Nightingale - A Distributed and High-Performance Monitoring System. Prometheus enterprise edition
Introduction 💡 A Distributed and High-Performance Monitoring System. Prometheus
Implementation of distributed key-value system based on TiKV
Distributed_key-value_system A naive implementation of distributed key-value system based on TiKV Features Features of this work are listed below: Dis
fleet ties together systemd and etcd into a distributed init system
Deprecation warning fleet is no longer developed or maintained by CoreOS. After February 1, 2018, a fleet container image will continue to be availabl
Code portion for Distributed System Final exam for Viktor Máni Mønster
DISYS Final Exam (Distributed Hash Table) How to run There are two components of the system, which need to be run in separate ways. As this is a distr
Nano - Lightweight, facility, high performance golang based game server framework
Nano Nano is an easy to use, fast, lightweight game server networking library fo
OcppManager-go - A library for dynamically managing OCPP configuration (variables). It can read, update, and validate OCPP variables.
🔌 ocppManager-go A library for dynamically managing OCPP configuration (variables). It can read, update, and validate OCPP variables. Currently, only
OVO is an In-Memory Distributed Cache and a Key/Value Storage.
OVO is an In-Memory Distributed Cache and a Key/Value Storage. Main features OVO is a distributed in-memory cache that supports data sharding on m
Go-explosion - Distributed indexing and searching in Go/Golang
go-explosion Distributed indexing and searching in Go/Golang. This library does
Remaphore - Admin tool employing NATS to coordinate processes on distributed infrastructure.
remaphore Admin tool employing NATS to coordinate processes on distributed infrastructure. Tasks on widely distributed machines often have to be coord
Tinyini - Bare-bones Go library for reading INI-like configuration files
tinyini tinyini is a minimalistic library for parsing INI-like configuration files. example configuration file globalkey = globalvalue [section] key
My solutions to labs of MIT 6.824: Distributed Systems.
MIT 6.824 Distributed Systems Labs
Package figtree provides a multi-paradigm SDK for sophisticated configuration file access
Package figtree provides a multi-paradigm SDK for sophisticated configuration file access. Motivation Figtree syntax is based on classic key/value pai
Environment variables configuration package for Go microservices.
gocfg Environment variables configuration package for Go microservices. It helps validate environment variable values and set default values if needed
A dead-simple configuration management tool powered by stupid shell scripts.
Efs2 Don't you wish you could configure a server as easily as creating a Docker image? Meet Efs2, A dead simple configuration management tool that is
A collection about awesome blockchains
A collection about awesome blockchains - open distributed public databases w/ crypto hashes incl. git ;-). Blockchains are the new tulips :tulip::tulip::tulip:. Distributed is the new centralized.
M3 monorepo - Distributed TSDB, Aggregator and Query Engine, Prometheus Sidecar, Graphite Compatible, Metrics Platform
M3 Distributed TSDB and Query Engine, Prometheus Sidecar, Metrics Aggregator, and more such as Graphite storage and query engine. Table of Contents Mo
Your configuration library for your Go programs.
Goconfig is an extremely simple and powerful configuration library for your Go programs that read values from environment vars, command line arguments
a Framework for creating microservices using technologies and design patterns of Erlang/OTP in Golang
Technologies and design patterns of Erlang/OTP have been proven over the years. Now in Golang. Up to x5 times faster than original Erlang/OTP in terms
Goka is a compact yet powerful distributed stream processing library for Apache Kafka written in Go.
Goka Goka is a compact yet powerful distributed stream processing library for Apache Kafka written in Go. Goka aims to reduce the complexity of buildi
Transactional outbox harvester for Postgres → Kafka, written in Go
goharvest is a Go implementation of the Transactional Outbox pattern for Postgres and Kafka. While goharvest is a complex beast, the end result is dea
A Lightweight "Remote Cache Access" (Rekas) Framework
Rekas 项目介绍 Rekas:一个轻量级分布式缓存系统 框架 ,解决缓存系统中出现的缓存击穿[锁机制]、缓存穿透[布隆过滤器]、缓存雪崩[分布式]问题,实现
A simple Go library to toggle on and off pac(proxy auto configuration) for Windows, MacOS and Linux
pac pac is a simple Go library to toggle on and off pac(proxy auto configuration
Distributed tracing using OpenTelemetry and ClickHouse
Distributed tracing backend using OpenTelemetry and ClickHouse Uptrace is a dist
Library providing routines to merge and validate JSON, YAML and/or TOML files
CONFLATE Library providing routines to merge and validate JSON, YAML, TOML files and/or structs (godoc) Typical use case: Make your application config
A Golang package for simplifying storing configuration in the OS-provided secret manager.
go-keyconfig A Golang package for simplifying storing configuration in the OS-provided secret manager. Operating System Support OS Secret Manager MacO
A cross-language distributed transaction manager
English Docs 跨语言分布式事务管理器 DTM是一款golang开发的分布式事务管理器,解决了跨数据库、跨服务、跨语言栈更新数据的一致性问题。 他优雅
API and a set of tools to manage Netbox configuration declaratively
declarative-netbox An experimental project to explore the idea of managing the N
Instantiate/configure structs recursively, based on build environment. (YAML, TOML, JSON and env).
Swap Dynamically instantiate and configure structs and/or parse config files in to them recursively, based on your build environment. Keep your projec
Labs from MIT's graduate-level Distributed Systems course
Labs from MIT's graduate-level Distributed Systems course Course website here Lab 1: MapReduce Lab 2: Raft Consensus Algorithm Lab 2A: Raft Leader Ele
Validator for your Traefik Proxy configuration
Traefik Config Validator Note This is currently pre-release software. traefik-config-validator is a CLI tool to (syntactically) validate your Traefik
goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configuration file.
goconfig goconfig uses a struct as input and populates the fields of this struct with parameters from command line, environment variables and configur
configuration library for JVM languages using HOCON files
Configuration library for JVM languages. If you have questions or are working on a pull request or just curious, please feel welcome to join the chat
Tag based configuration loader from different providers
Gonfig Tag-based configuration parser which loads values from different providers into typesafe struct. Installation This package needs go version 1.1
Industrial IoT Messaging and Device Management Platform
Mainflux Mainflux is modern, scalable, secure, open-source, and patent-free IoT cloud platform written in Go. It accepts user and thing (sensor, actua
Colorized logger for Golang with dynamic log level configuration
logmatic Colorized logger for Golang with dynamic log level configuration Documentation here: https://godoc.org/github.com/mborders/logmatic Example U
Instant Kubernetes-Native Application Observability
Pixie is an open source observability tool for Kubernetes applications. Use Pixie to view the high-level state of your cluster (service maps, cluster
A highly scalable and serverless unique ID generator for use in distributed systems.
A highly scalable and serverless unique ID generator for use in distributed systems. Written in GoLang. Inspired by Twitters Snowflake.
Traefik config validator: a CLI tool to (syntactically) validate your Traefik configuration filesTraefik config validator: a CLI tool to (syntactically) validate your Traefik configuration files
Traefik Config Validator Note This is currently pre-release software. traefik-config-validator is a CLI tool to (syntactically) validate your Traefik
Security research and open source implementation of the Apple 'Wireless Accessory Configuration' (WAC) protocol
Apple 'Wireless Accessory Configuration' (WAC) research Introduction This repository contains some research on how the WAC protocol works. I was mostl
A tool for building identical machine images for multiple platforms from a single source configuration
Packer Packer is a tool for building identical machine images for multiple platforms from a single source configuration. Packer is lightweight, runs o
Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.
Packer Packer is a tool for building identical machine images for multiple platforms from a single source configuration. Packer is lightweight, runs o
Edge Orchestration project is to implement distributed computing between Docker Container enabled devices.
Edge Orchestration Introduction The main purpose of Edge Orchestration project is to implement distributed computing between Docker Container enabled