450 Resources
Golang distributed-cache 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
Code your next Go web project with (a) Mojito! No matter if its an API or a website, go-mojito assists you with dependency injection, simple routing, custom request / response objects and template rendering
Go-Mojito is a super-modular library to bootstrap your next Go web project. It can be used for strict API-only purposes as well as server-side renderi
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
A zero-dependency cache library for storing data in memory with generics.
Memory Cache A zero-dependency cache library for storing data in memory with generics. Requirements Golang 1.18+ Installation go get -u github.com/rod
A simple generic in-memory caching layer
sc sc is a simple in-memory caching layer for golang. Usage Wrap your function with sc - it will automatically cache the values for specified amount o
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.
Fast :zap: reverse proxy in front of any GraphQL server for caching, securing and monitoring.
Fast ⚡ reverse proxy in front of any GraphQL server for caching, securing and monitoring. Features 💾 Caching RFC7234 compliant HTTP Cache. Cache quer
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.
Generic sharded thread safe LRU cache in Go.
cache Cache is a thread safe, generic, and sharded in memory LRU cache object. This is achieved by partitioning values across many smaller LRU (least
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
Ristretto - A high performance memory-bound Go cache
Ristretto Ristretto is a fast, concurrent cache library built with a focus on pe
Baize - A minimum implement of bazel remote execution
BAIZE Baize, mythical creatures in ancient Chinese mythology, who can speak with
Achieve Cache GO Like GroupCache、MemCache
Cache 分布式缓存 Achieve Cache GO Like GroupCache、MemCache 1.LRU(Least Recently Used) 实现LRU淘汰算法两个核心数据结构 1.字典(map),存储键(string)与值(list.Element链表节点)的关系。 2.双向链
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
False-sharing-demo - Demo for performance effects of CPU cache false-sharing
Example of CPU cache false-sharing in Go. A simple example where 2 integer varia
Implementing URL shortening with Go and Redis as cache with Rate Limiting
URL-Redis Implementing URL shortening with Go and Redis as cache with Rate Limiting. In this project I have tried to implement on of daily task used i
Gocodecache - An in-memory cache library for code value master in Golang
gocodecache An in-memory cache library for code master in Golang. Installation g
Ristretto - A fast, concurrent cache library built with a focus on performance and correctness
Ristretto Ristretto is a fast, concurrent cache library built with a focus on pe
A clean, safe, user-friendly implementation of GraphQL's Dataloader, written with generics in go
go-dataloader A clean, safe, user-friendly implementation of GraphQL's Dataloader, written with generics in go (go1.18beta1). Features written in gene
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
Solution for Leetcode problem: 146. LRU Cache
Solution for Leetcode problem: 146. LRU Cache link My solution for the above lee
Couchbase - distributed NoSQL cloud database
couchbase Couchbase is distributed NoSQL cloud database. create Scope CREATE SCO
Gin-cache - Gin cache middleware with golang
Gin-cache - Gin cache middleware with golang
Cache - A simple cache implementation
Cache A simple cache implementation LRU Cache An in memory cache implementation
Thread-safe LRU cache with permanency and context-based expiration
go-wlru Thread-safe LRU cache with permanency and context-based expiration Operational Complexity (Time) Operation Best Average Worst Access Θ(1) Θ(1)
Distributed-system - Practicing and learning the foundations of DS with Go
Distributed-System For practicing and learning the foundations of distributed sy
A Fast Golang Redis RESP3 client that supports client side caching and auto pipelining.
rueidis A Fast Golang Redis RESP3 client that does auto pipelining and supports client side caching. Features auto pipeline for non-blocking redis com
Ecsgo - Cache friendly, Multi threading Entity Component System in Go (with Generic)
ECSGo ECSGo is an Entity Component System(ECS) in Go. This is made with Generic
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.
ttlcache – is a simple and efficient in-memory key value storage with TTL for each record
ttlcache About ttlcache – is a simple and efficient in-memory key value storage with TTL for each record. The key is of uint64 type. Library provides
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
Proxy server with go context, go cache
proxy-tut 1. 프록시 서버의 기능 클라이언트에게 요청이 오면 캐시되었는지 확인한후, 캐시되어있다면 본서버로 요청을 보내지 않고 데이터를 내려줍니다. 동일한 요청이 여러개 들어올 시(본서버에서 응답을 받기전이라 캐시되지 않은경우) 동일한 요청은 본서버에 한번만
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
Simple and minimal image server capable of storing, resizing, converting and caching images.
webp-server Simple and minimal image server capable of storing, resizing, converting, and caching images. You can quickly find out how it works by loo
⚡️ Store Turborepo remote cache in your S3 bucket
turborepo-s3-remote-cache HTTP server to store Turborepo remote cache to an AWS S3 bucket.
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:
Lru - A simple LRU cache using go generics
LRU Cache A simple LRU cache using go generics. Examples Basic usage. func main(
Dxc - Go implementation of DxChain3.0 protocol
DxChain 3.0 The Ecosystem Powered by DxChain 3.0 Smart Contract Platform While c
Tiexec - TiExec tries to alleviate the iTLB-Cache-Miss problem of the application it loaded
TiExec This opensource project is inspired by the TiDB Hackathon 2021. Here is t
Distributed-Log-Service - Distributed Log Service With Golang
Distributed Log Service This project is essentially a result of my attempt to un
A threadsafe single-value cache for Go with a simple but flexible API
SVCache SVCache is a threadsafe, single-value cache with a simple but flexible API. When there is no fresh value in the cache, an attempt to retrieve
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
Aws-secretsmanager-caching-extension - Cache server for AWS Secrets Manager
AWS Lambda Extension / Sidecar Container Cache Server The cache server is writte
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
My solutions to labs of MIT 6.824: Distributed Systems.
MIT 6.824 Distributed Systems Labs
Continuous Benchmark for cache libraries written in golang.
Simple performance comparison of cache libraries written in golang. Reports Continuous Bencmark Result (click here) Default parameters 256 shards * 32
High performance Copy-on-write gop cache code
PLEASE USE joy5 INSTEAD joy5 High performance Copy-on-write gop cache code Better av.Packet design code JOY4 Golang audio/video library and streaming
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.
Design and Implement an in-memory caching library for general use
Cache Implementation in GoLang Problem Statement Design and Implement an in-memory caching library for general use. Must Have Support for multiple Sta
DNS server with Redis-cache
GoNS DNS server for home usage. Can resolve by global DNS (external dns) and internal by searching in private_domains list. Also, GoNS can use redis-c
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:一个轻量级分布式缓存系统 框架 ,解决缓存系统中出现的缓存击穿[锁机制]、缓存穿透[布隆过滤器]、缓存雪崩[分布式]问题,实现
gRPC LRU-cache server and client with load test
gRPC k-v storage with LRU-cache server & client + load test. Specify LRU-cache capacity: server/cmd/app.go - StorageCapacity go build ./server/cmd/*
CDN-like in-memory cache with shielding, and Go 1.18 Generics
cache CDN-like, middleware memory cache for Go applications with integrated shielding and Go 1.18 Generics. Usage package main import ( "context" "
Distributed tracing using OpenTelemetry and ClickHouse
Distributed tracing backend using OpenTelemetry and ClickHouse Uptrace is a dist
staticfiles is an asset manager for a web applications written in Go.
Overview staticfiles is an asset manager for a web applications written in Go. It collects asset files (CSS, JS, images, etc.) from a different locati
A cross-language distributed transaction manager
English Docs 跨语言分布式事务管理器 DTM是一款golang开发的分布式事务管理器,解决了跨数据库、跨服务、跨语言栈更新数据的一致性问题。 他优雅
External app to check and cache the latest block from DMO nodes
checkblock External app to check and cache the latest block from DMO nodes. This
This provides the lru package which implements a fixed-size thread safe LRU cache
golang-lru This provides the lru package which implements a fixed-size thread sa
Simple cache dependency system on-top of the famous redigo package
go-cache Simple cache dependency system on-top of the famous redigo package Table of Contents Installation Documentation Examples & Tests Benchmarks C
Simple Reverse Proxy with Caching, written in Go, using Redis.
Go Proxy Cache Simple Reverse Proxy with Caching, written in Go, using Redis. (semi) production-ready 💗 Support the Project 💗 This project i
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
Golang Cache component - Multiple drivers
Cachego Simple interface for caching Installation Cachego requires Go 1.13 or later. go get github.com/faabiosr/cachego Usage package main import (
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
Open Source HTTP Reverse Proxy Cache and Time Series Dashboard Accelerator
Trickster is an HTTP reverse proxy/cache for http applications and a dashboard query accelerator for time series databases. Learn more below, and chec
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.
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