Awesome Go

Distributed Systems

66 libraries in this category

NATS

Lightweight, high performance messaging system for microservices, IoT, and cloud native systems.

15,715Distributed SystemsPackages that help with building Distributed Systems.
ringpop-go

Scalable, fault-tolerant application-layer sharding for Go applications.

828Distributed SystemsPackages that help with building Distributed Systems.
go-health

Library for enabling asynchronous dependency health checks in your service.

748Distributed SystemsPackages that help with building Distributed Systems.
celeriac

Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.

72Distributed SystemsPackages that help with building Distributed Systems.
arpc

More effective network communication, support two-way-calling, notify, broadcast

Distributed SystemsDistributed Systems
bedrock

Provides a minimal, modular and composable foundation for quickly developing services and more use case specific frameworks in Go

Distributed SystemsDistributed Systems
capillaries

distributed batch data processing framework

Distributed SystemsDistributed Systems
consistent

Consistent hashing with bounded loads

Distributed SystemsDistributed Systems
consistenthash

Consistent hashing with configurable replicas

Distributed SystemsDistributed Systems
dht

BitTorrent Kademlia DHT implementation

Distributed SystemsDistributed Systems
digota

grpc ecommerce microservice

Distributed SystemsDistributed Systems
doublejump

A revamped Google's jump consistent hash

Distributed SystemsDistributed Systems
dragonboat

A feature complete and high performance multi-group Raft library in Go

Distributed SystemsDistributed Systems
Dragonfly

Provide efficient, stable and secure file distribution and image acceleration based on p2p technology to be the best practice and standard solution in cloud native architectures

Distributed SystemsDistributed Systems
drmaa

Job submission library for cluster schedulers based on the DRMAA standard

Distributed SystemsDistributed Systems
dynatomic

A library for using DynamoDB as an atomic counter

Distributed SystemsDistributed Systems
emitter-io

High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love

Distributed SystemsDistributed Systems
evans

Evans: more expressive universal gRPC client

Distributed SystemsDistributed Systems
failured

adaptive accrual failure detector for distributed systems

Distributed SystemsDistributed Systems
flowgraph

flow-based programming package

Distributed SystemsDistributed Systems
gleam

Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed

Distributed SystemsDistributed Systems
glow

Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go

Distributed SystemsDistributed Systems
gmsec

A Go distributed systems development framework

Distributed SystemsDistributed Systems
go-doudou

A gossip protocol and OpenAPI 3.0 spec based decentralized microservice framework. Built-in go-doudou cli focusing on low-code and rapid dev can power up your productivity

Distributed SystemsDistributed Systems
go-jump

Port of Google's "Jump" Consistent Hash function

Distributed SystemsDistributed Systems
go-kit

Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc

Distributed SystemsDistributed Systems
go-micro

A distributed systems development framework

Distributed SystemsDistributed Systems
go-mysql-lock

MySQL based distributed lock

Distributed SystemsDistributed Systems
go-pdu

A decentralized identity-based social network

Distributed SystemsDistributed Systems
go-sundheit

A library built to provide support for defining async service health checks for golang services

Distributed SystemsDistributed Systems
go-zero

A web and rpc framework. It's born to ensure the stability of the busy sites with resilient design. Builtin goctl greatly improves the development productivity

Distributed SystemsDistributed Systems
gorpc

Simple, fast and scalable RPC library for high load

Distributed SystemsDistributed Systems
grpc-go

The Go language implementation of gRPC. HTTP/2 based RPC

Distributed SystemsDistributed Systems
hprose

Very newbility RPC Library, support 25+ languages now

Distributed SystemsDistributed Systems
jsonrpc

The jsonrpc package helps implement of JSON-RPC 2.0

Distributed SystemsDistributed Systems
jsonrpc

JSON-RPC 2.0 HTTP client implementation

Distributed SystemsDistributed Systems
K8gb

A cloud native Kubernetes Global Balancer

Distributed SystemsDistributed Systems
Kitex

A high-performance and strong-extensibility Golang RPC framework that helps developers build microservices. If the performance and extensibility are the main concerns when you develop microservices, Kitex can be a good choice

Distributed SystemsDistributed Systems
Kratos

A modular-designed and easy-to-use microservices framework in Go

Distributed SystemsDistributed Systems
liftbridge

Lightweight, fault-tolerant message streams for NATS

Distributed SystemsDistributed Systems
lura

Ultra performant API Gateway framework with middlewares

Distributed SystemsDistributed Systems
micro

A distributed systems runtime for the cloud and beyond

Distributed SystemsDistributed Systems
mochi mqtt

Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub

Distributed SystemsDistributed Systems
outboxer

Outboxer is a go library that implements the outbox pattern

Distributed SystemsDistributed Systems
raft

Golang implementation of the Raft consensus protocol, by HashiCorp

Distributed SystemsDistributed Systems
raft

Go implementation of the Raft consensus protocol, by CoreOS

Distributed SystemsDistributed Systems
rain

BitTorrent client and library

Distributed SystemsDistributed Systems
redis-lock

Simplified distributed locking implementation using Redis

Distributed SystemsDistributed Systems
rpcx

Distributed pluggable RPC service framework like alibaba Dubbo

Distributed SystemsDistributed Systems
Semaphore

A straightforward (micro) service orchestrator

Distributed SystemsDistributed Systems
sleuth

Library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq))

Distributed SystemsDistributed Systems
sponge

A distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks

Distributed SystemsDistributed Systems
Tarmac

Framework for writing functions, microservices, or monoliths with WebAssembly

Distributed SystemsDistributed Systems
Temporal

Durable execution system for making code fault-tolerant and simple

Distributed SystemsDistributed Systems
torrent

BitTorrent client package

Distributed SystemsDistributed Systems
trpc-go

The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework

Distributed SystemsDistributed Systems
circuit

Circuit breaker with gradual recovery via probabilistic throttling

Distributed SystemsDistributed Systems
committer

A distributed transactions management system (2PC/3PC implementation)

Distributed SystemsDistributed Systems
dot

distributed sync using operational transformation/OT

Distributed SystemsDistributed Systems
go-eagle

A Go framework for the API or Microservice with handy scaffolding tools

Distributed SystemsDistributed Systems
health

Health checker for Go services with Kubernetes probe support

Distributed SystemsDistributed Systems
NATS

NATS is a simple, secure, and performant communications system for digital systems, services, and devices

Distributed SystemsDistributed Systems
opentelemetry-go-auto-instrumentation

OpenTelemetry Compile-Time Instrumentation for Golang

Distributed SystemsDistributed Systems
oras

CLI and library for OCI Artifacts in container registries

Distributed SystemsDistributed Systems
outbox

Lightweight library for the transactional outbox pattern in Go, not tied to any specific relational database or broker

Distributed SystemsDistributed Systems
rpcplatform

Framework for microservices with service discovery, load balancing, and related features

Distributed SystemsDistributed Systems