Cute Gopher Mascot

The Best Go Libraries For Distributed Systems (66)

Discover the best Go libraries for Distributed Systems! Find the perfect tools to streamline your development and boost productivity. From NATS to go-micro, we've got you covered. Let the coding begin!

NATS

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

See More! 🚀

go-micro

A distributed systems development framework

See More! 🚀

go-mysql-lock

MySQL based distributed lock

See More! 🚀

go-pdu

A decentralized identity-based social network

See More! 🚀

go-sundheit

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

See More! 🚀

gorpc

Simple, fast and scalable RPC library for high load

See More! 🚀

grpc-go

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

See More! 🚀

arpc

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

See More! 🚀

bedrock

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

See More! 🚀

celeriac

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

See More! 🚀

capillaries

distributed batch data processing framework

See More! 🚀

consistent

Consistent hashing with bounded loads

See More! 🚀

consistenthash

Consistent hashing with configurable replicas

See More! 🚀

digota

grpc ecommerce microservice

See More! 🚀

dragonboat

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

See More! 🚀

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

See More! 🚀

drmaa

Job submission library for cluster schedulers based on the DRMAA standard

See More! 🚀

emitter-io

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

See More! 🚀

evans

Evans: more expressive universal gRPC client

See More! 🚀

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

See More! 🚀

glow

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

See More! 🚀

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

See More! 🚀

go-jump

Port of Google's "Jump" Consistent Hash function

See More! 🚀

go-health

Library for enabling asynchronous dependency health checks in your service.

See More! 🚀

go-kit

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

See More! 🚀

jsonrpc

The jsonrpc package helps implement of JSON-RPC 2.0

See More! 🚀

jsonrpc

JSON-RPC 2.0 HTTP client implementation

See More! 🚀

K8gb

A cloud native Kubernetes Global Balancer

See More! 🚀

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

See More! 🚀

Kratos

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

See More! 🚀

liftbridge

Lightweight, fault-tolerant message streams for NATS

See More! 🚀

lura

Ultra performant API Gateway framework with middlewares

See More! 🚀

micro

A distributed systems runtime for the cloud and beyond

See More! 🚀

mochi mqtt

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

See More! 🚀

NATS

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

See More! 🚀

outboxer

Outboxer is a go library that implements the outbox pattern

See More! 🚀

raft

Golang implementation of the Raft consensus protocol, by HashiCorp

See More! 🚀

raft

Go implementation of the Raft consensus protocol, by CoreOS

See More! 🚀

rain

BitTorrent client and library

See More! 🚀

ringpop-go

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

See More! 🚀

Semaphore

A straightforward (micro) service orchestrator

See More! 🚀

sponge

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

See More! 🚀

Tarmac

Framework for writing functions, microservices, or monoliths with WebAssembly

See More! 🚀

Temporal

Durable execution system for making code fault-tolerant and simple

See More! 🚀

torrent

BitTorrent client package

See More! 🚀

dht

BitTorrent Kademlia DHT implementation

See More! 🚀

doublejump

A revamped Google's jump consistent hash

See More! 🚀

dynatomic

A library for using DynamoDB as an atomic counter

See More! 🚀

failured

adaptive accrual failure detector for distributed systems

See More! 🚀

flowgraph

flow-based programming package

See More! 🚀

gmsec

A Go distributed systems development framework

See More! 🚀

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

See More! 🚀

hprose

Very newbility RPC Library, support 25+ languages now

See More! 🚀

oras

CLI and library for OCI Artifacts in container registries

See More! 🚀

redis-lock

Simplified distributed locking implementation using Redis

See More! 🚀

rpcx

Distributed pluggable RPC service framework like alibaba Dubbo

See More! 🚀

circuit

Circuit breaker with gradual recovery via probabilistic throttling

See More! 🚀

committer

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

See More! 🚀

dot

distributed sync using operational transformation/OT

See More! 🚀

go-eagle

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

See More! 🚀

health

Health checker for Go services with Kubernetes probe support

See More! 🚀

opentelemetry-go-auto-instrumentation

OpenTelemetry Compile-Time Instrumentation for Golang

See More! 🚀

outbox

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

See More! 🚀

rpcplatform

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

See More! 🚀

trpc-go

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

See More! 🚀

sleuth

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

See More! 🚀