410 Resources
Golang distributed-hash-table 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
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
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
Work pool channlege - An url hash retriever worker pool for getting hash digest for a collection of urls
Code challenge The aim of this project is to provide an url hash retriever worke
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
Bubble-table - A table component for the Bubble Tea framework
Bubble-table A table component for the Bubble Tea framework. This is currently m
This CLI tool sends HTTP GET requests and print MD5 hash values of the response's body
HTTP Body Hash Generator This CLI (Command Line Interface) tool sends HTTP GET requests and print MD5 hash values of the response's body. Usage You ne
Gopassutil - Command line utility to hash and verify with passlib for go
gopassutil command line utility to hash and verify with passlib for go Usage Gen
Compute and print message digest hash values from stdin.
Compute and print message digest hash values from stdin.
This project is mostly a fancy wrapper around the Extract Table (github) API
Knockout-City-Stat-Scanner Credits This project is mostly a fancy wrapper around the Extract Table (github) API, they did all the heavy lifting here a
A tool that creates requests with the given urls and converts its response to md5 hash.
Response Converter A tool that creates requests with the given urls and converts its response to md5 hash. Prerequisites Before you begin you must hav
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
Hashkill - A fast hash decryptor with golang
Hashkill ♻️ Changelog v0.2 Added timing Fixed running, the program breaks if all
Couchbase - distributed NoSQL cloud database
couchbase Couchbase is distributed NoSQL cloud database. create Scope CREATE SCO
Distributed-system - Practicing and learning the foundations of DS with Go
Distributed-System For practicing and learning the foundations of distributed sy
pretty colorfull tables in go with less effort
Table Print out tabular data on the command line using the ansi color esacape codes. Support for writing the ouput based on the fields in a struct and
Gorm-sharding - High performance table sharding plugin for Gorm
Gorm Sharding This project has moved to Gorm offical organization: https://githu
Mantil-template-form-to-dynamodb - Receive form data and write it to a DynamoDB table
This template is an example of serverless integration between Google Forms and DynamoDB
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
Finds an identifiable hash value for each version of GitLab vulnerable to CVE-2021-22205
Finds an identifiable hash value for each version of GitLab vulnerable to CVE-2021-22205
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 minimal, single-table No-SQL database.
SimpleDB SimpleDB is a very basic No-SQL database format for long-term data storage in Golang. It is WIP, has a LOT of drawbacks, and definitely is no
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
Typescript type declaration to PostgreSQL CREATE TABLE converter
ts2psql NOTE: This is WIP. Details in this readme are ideal state. Current usage: go build && ./ts2psql (or go build && ts2psql if on Windows OS). A s
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
Crud - A mysql crud code generate tool from table DDL sql file
crud is a mysql crud code generate tool 中文文档 Getting Started Overview Crud is a
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
Uptrace - Distributed tracing backend using OpenTelemetry and ClickHouse
Distributed tracing backend using OpenTelemetry and ClickHouse Uptrace is a dist
A drop-in replacement to any Writer type, which also calculates a hash using the provided hash type.
writehasher A drop-in replacement to any Writer type, which also calculates a hash using the provided hash type. Example package main import ( "fmt"
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
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
Vso-hash-cuda - CUDA implementation of the BuildXL paged hash (a.k.a. VSO-Hash)
vso-hash-cuda Golang implementation of the BuildXL paged hash function (a.k.a. VSO-Hash) See https://github.com/microsoft/BuildXL/blob/master/Document
Vso-hash - Golang implementation of the BuildXL paged hash function
vso-hash Golang implementation of the BuildXL paged hash function See https://gi
My solutions to labs of MIT 6.824: Distributed Systems.
MIT 6.824 Distributed Systems Labs
The most concise and efficient algorithm of consistent hash based on golang
consistent This package of consistent is the most concise and efficient algorithm of consistent hash based on golang. Example Quick start: package mai
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.
Collections for Golang using generics. Currently containing Hash Set.
Implementation of missing colections for Golang using Generics. Free of dependencies. Curently in early development phase. Requirements Go 1.18+ Insta
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
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:一个轻量级分布式缓存系统 框架 ,解决缓存系统中出现的缓存击穿[锁机制]、缓存穿透[布隆过滤器]、缓存雪崩[分布式]问题,实现
Distributed tracing using OpenTelemetry and ClickHouse
Distributed tracing backend using OpenTelemetry and ClickHouse Uptrace is a dist
GoStruct2Table - format your struct like a table.
GoStruct2Table format your struct like a table. Installing $ go get -u -v github.com/runningzyp/GoStruct2Table Simple Example import parser "github.c
Go library providing simple and secure password management
Passhash passhash addresses the dismal state of password management in Go by offering easy-to-use APIs to manage credentials (e.g. password hashes) No
A cross-language distributed transaction manager
English Docs 跨语言分布式事务管理器 DTM是一款golang开发的分布式事务管理器,解决了跨数据库、跨服务、跨语言栈更新数据的一致性问题。 他优雅
Pretty console printing of tabular data
go-tableify Pretty console printing of tabular data Installation Make sure you have a working Go environment. Follow the Go install instructions. To i
Golang struct to postgres table shifter.
pg-shifter Golang struct to postgres table shifter. go1.9+ required. The main objective is to keep the table's complete schema details in golang table
A simple implementation of Bloom Filters using murmur3, Super Fast Hash and marvin32 hashing algorithms.
###blooming-belle - A simple implementation of Bloom Filters What? Bloom filter is a space efficient, probabilistic data structure, designed to test t
Proof of Work (POW) using SHA1 hashes
Important The main repository is hosted at Codeberg. Proof of Work (SHA1) This repository contains a naive implementation of a Proof of Work (POW) usi
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
Lambda microservice triggered by API Gateway to lookup ip address, domain or hash (md5, sha1, sha256)
lambdaGatewayAPI Lambda microservice triggered by API Gateway to lookup ip address, domain or hash (md5, sha1, sha256) How to deploy Build the lambdaG
🚀A fast, stable and embedded k-v storage in pure Golang, supports string, list, hash, set, sorted set.
English | 简体中文 rosedb is not production-ready, we are doing more test now. rosedb is a fast, stable and embedded key-value (k-v) storage engine based
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
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.
A example of a join table using liquibase and gorm
A example of a join table using liquibase and gorm. Additionally the join table's composite key is used as a composite foreign key for another table.
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
Removes unnecessarily saved git objects to optimize the size of the .git directory.
Git Repo Cleaner Optimizes the size of the .git directory by removing all of the files that are unnecessarily-still-saved as part of the git history.
Go library MalShare API
MalShare client library MalShare is a free Malware repository providing researchers access to samples, malicous feeds, and Yara results. Link to Malsh
Decentralized,distributed,peer-to-peer database.
P2PDB 中文 | English 注意: 本项目只作为新型数据库技术理论验证使用,当前不具备任何生产可用性。 简介 P2PDB(p2p数据库),一个去中心化、分布式、点对点数据库、P2PDB使用IPFS-libp2p构建分布式网络和IPFS-pubsub与对等节点同步数据。P2PDB期望打造一个
The management of multiple apps running over different ports made easy
Ergo Ergo Proxy - The reverse proxy agent for local domain management. The management of multiple apps running over different ports made easy through
Golang rate limiters for distributed applications
Distributed rate limiters for Golang Rate limiters for distributed applications in Golang with configurable back-ends and distributed locks. Any types
Simple distributed kv-store using ABD algorithm.
Distributed-kv-store Simple distributed kv-store using ABD algorithm. API GET /key Get value by key. 302 = found key. PUT /key Put key with value. 201
Retrying made simple and easy for golang :repeat:
retry-go Retrying made simple and easy for golang. Installation go get -u github.com/rafaeljesus/retry-go Usage Do package main import ( "time"
Simple Distributed key-value database (in-memory/disk) written with Golang.
Kallbaz DB Simple Distributed key-value store (in-memory/disk) written with Golang. Installation go get github.com/msam1r/kallbaz-db Usage API // Get
A collection of useful utility functions
util A group of generic useful utility functions Dependencies parallelizer github.com/shomali11/parallelizer Examples Concurrency package main import
A highly scalable and serverless unique ID generator for use in distributed systems. Written in GoLang. Inspired by Twitters Snowflake.
GOFLAKE A highly scalable, customizable, and serverless unique ID generator for use in distributed systems. Written in GoLang. Inspired by Twitters Sn
Store a topic messages to database table
Store messages to database table by structure hints The message type in the broker must be the json object Only use one table for store data Configura
Self-hosted web app for encoding files to a target format using distributed computing.
What is Encodarr? Encodarr is a self-hosted web application that encodes video files to a target format using distributed computing to spread the work