
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
go-micro
A distributed systems development framework
go-mysql-lock
MySQL based distributed lock
go-pdu
A decentralized identity-based social network
go-sundheit
A library built to provide support for defining async service health checks for golang services
gorpc
Simple, fast and scalable RPC library for high load
grpc-go
The Go language implementation of gRPC. HTTP/2 based RPC
arpc
More effective network communication, support two-way-calling, notify, broadcast
bedrock
Provides a minimal, modular and composable foundation for quickly developing services and more use case specific frameworks in Go
celeriac
Library for adding support for interacting and monitoring Celery workers, tasks and events in Go.
capillaries
distributed batch data processing framework
consistent
Consistent hashing with bounded loads
consistenthash
Consistent hashing with configurable replicas
digota
grpc ecommerce microservice
dragonboat
A feature complete and high performance multi-group Raft library in Go
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
drmaa
Job submission library for cluster schedulers based on the DRMAA standard
emitter-io
High performance, distributed, secure and low latency publish-subscribe platform built with MQTT, Websockets and love
evans
Evans: more expressive universal gRPC client
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
glow
Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go
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
go-jump
Port of Google's "Jump" Consistent Hash function
go-health
Library for enabling asynchronous dependency health checks in your service.
go-kit
Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc
jsonrpc
The jsonrpc package helps implement of JSON-RPC 2.0
jsonrpc
JSON-RPC 2.0 HTTP client implementation
K8gb
A cloud native Kubernetes Global Balancer
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
Kratos
A modular-designed and easy-to-use microservices framework in Go
liftbridge
Lightweight, fault-tolerant message streams for NATS
lura
Ultra performant API Gateway framework with middlewares
micro
A distributed systems runtime for the cloud and beyond
mochi mqtt
Fully spec compliant, embeddable high-performance MQTT v5/v3 broker for IoT, smarthome, and pubsub
NATS
Lightweight, high performance messaging system for microservices, IoT, and cloud native systems.
outboxer
Outboxer is a go library that implements the outbox pattern
raft
Golang implementation of the Raft consensus protocol, by HashiCorp
raft
Go implementation of the Raft consensus protocol, by CoreOS
rain
BitTorrent client and library
ringpop-go
Scalable, fault-tolerant application-layer sharding for Go applications.
Semaphore
A straightforward (micro) service orchestrator
sponge
A distributed development framework that integrates automatic code generation, gin and grpc frameworks, base development frameworks
Tarmac
Framework for writing functions, microservices, or monoliths with WebAssembly
Temporal
Durable execution system for making code fault-tolerant and simple
torrent
BitTorrent client package
dht
BitTorrent Kademlia DHT implementation
doublejump
A revamped Google's jump consistent hash
dynatomic
A library for using DynamoDB as an atomic counter
failured
adaptive accrual failure detector for distributed systems
flowgraph
flow-based programming package
gmsec
A Go distributed systems development framework
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
hprose
Very newbility RPC Library, support 25+ languages now
oras
CLI and library for OCI Artifacts in container registries
redis-lock
Simplified distributed locking implementation using Redis
rpcx
Distributed pluggable RPC service framework like alibaba Dubbo
circuit
Circuit breaker with gradual recovery via probabilistic throttling
committer
A distributed transactions management system (2PC/3PC implementation)
dot
distributed sync using operational transformation/OT
go-eagle
A Go framework for the API or Microservice with handy scaffolding tools
health
Health checker for Go services with Kubernetes probe support
opentelemetry-go-auto-instrumentation
OpenTelemetry Compile-Time Instrumentation for Golang
outbox
Lightweight library for the transactional outbox pattern in Go, not tied to any specific relational database or broker
rpcplatform
Framework for microservices with service discovery, load balancing, and related features
trpc-go
The Go language implementation of tRPC, which is a pluggable, high-performance RPC framework
sleuth
Library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq))