Distributed Systems

68 projects

This category covers building blocks for systems that run across many processes or machines: RPC frameworks, microservice frameworks and toolkits, consensus libraries, service discovery, API gateways, and peer-to-peer and messaging systems. Many of the best-known pieces of cloud infrastructure are written in Go, so several entries here are the libraries those systems are built on.

For RPC, grpc-go is the standard implementation of gRPC, and CloudWeGo's Kitex and smallnest/rpcx are alternatives with their own protocols and service governance. Microservice frameworks bundle RPC, configuration, discovery and code generation: go-zero includes the goctl generator, Kratos comes from Bilibili, and go-micro offers pluggable components. go-kit is a toolkit of patterns rather than a framework, and has been quiet since 2024. For consensus, hashicorp/raft and etcd-io/raft are widely used Raft implementations, and dragonboat implements multi-group Raft. lura is the core of the KrakenD API gateway, and the NATS server provides messaging and streaming.

Start with plain gRPC or HTTP and add a framework only when its code generation and conventions save real work across many services. Do not implement consensus yourself; build on etcd-io/raft or hashicorp/raft, or on etcd itself. For long-running business processes, a durable workflow engine such as Temporal may fit better than hand-written retries.

go-zeroby tal-tech

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.

github.com/zeromicro/go-zeroGo 1.25+ 44 dependenciesv1.10.3updated 1d ago

33.4k

go-kit

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

github.com/go-kit/kitGo 1.17+ 31 dependenciesv0.13.0updated 2y ago

27.4k

Kratosby go-kratos

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

github.com/go-kratos/kratos/v3Go 1.25+ 11 dependenciesv3.0.0updated 1d ago

26k

grpc-goby grpc

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

google.golang.org/grpcGo 1.26+ 23 dependenciesv1.85.0updated 4d ago

23.1k

go-microby micro

A distributed systems development framework.

go-micro.dev/v6Go 1.26+ 46 dependenciesv5.30.1updated 4d ago

23.1k

NATSby nats-io

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

github.com/nats-io/nats-server/v2Go 1.26+ 11 dependenciesv2.15.2updated today

21k

raftby hashicorp

Golang implementation of the Raft consensus protocol, by HashiCorp.

github.com/hashicorp/raftGo 1.25+ 4 dependenciesv1.8.0updated 15d ago

9.2k

rpcxby smallnest

Distributed pluggable RPC service framework like alibaba Dubbo.

github.com/smallnest/rpcxGo 1.26+ 35 dependenciesv1.9.3updated 2mo ago

8.3k

Kitexby cloudwego

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.

github.com/cloudwego/kitexGo 1.20+ 24 dependenciesv0.16.4updated 12d ago

8.1k

luraby luraproject

Ultra performant API Gateway framework with middlewares.

github.com/luraproject/lura/v3Go 1.25+ 10 dependenciesv3.0.1updated 4d ago

6.8k

torrentby anacrolix

BitTorrent client package.

github.com/anacrolix/torrentGo 1.25+ 50 dependenciesupdated 5d ago

6.1k

dragonboatby lni

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

github.com/lni/dragonboat/v4Go 1.23+ 14 dependenciesv3.3.8updated 1y ago

5.3k

evansby ktr0731

Evans: more expressive universal gRPC client.

github.com/ktr0731/evansGo 1.20+ 40 dependenciesv0.10.11updated 2y ago

4.5k

emitter-io

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

github.com/emitter-io/emitterGo 1.24+ 20 dependenciesv3.1updated 6mo ago

4k

gleamby chrislusf

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.

github.com/chrislusf/gleamGo 1.25+ 26 dependenciesupdated 13d ago

3.6k

Dragonflyby dragonflyoss

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.

d7y.io/dragonfly/v2Go 1.25+ 78 dependenciesv2.5.3updated today

3.4k

glowby chrislusf

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

updated 8y ago

3.2k

spongeby zhufuyi

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

github.com/go-dev-frame/spongeGo 1.23+ 70 dependenciesv1.16.1updated 10mo ago

2.9k

liftbridgeby liftbridge-io

Lightweight, fault-tolerant message streams for NATS.

github.com/liftbridge-io/liftbridgeGo 1.25+ 26 dependenciesv26.01.1updated 20d ago

2.8k

orasby oras-project

CLI and library for OCI Artifacts in container registries.

oras.land/orasGo 1.26+ 11 dependenciesv1.3.6updated today

2.5k

go-eagle

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

github.com/go-eagle/eagleGo 1.22+ 72 dependenciesv1.11.0updated 6mo ago

2.4k

mochi mqttby mochi-co

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

github.com/mochi-mqtt/server/v2Go 1.21+ 10 dependenciesv2.7.9updated 1mo ago

2k

redis-lockby bsm

Simplified distributed locking implementation using Redis.

github.com/bsm/redislockGo 1.25+ 1 dependencyupdated 4mo ago

1.8k

K8gbby k8gb-io

A cloud native Kubernetes Global Balancer.

github.com/k8gb-io/k8gbGo 1.27+ 23 dependenciesv1.0.1updated today

1.3k

hprose

Very newbility RPC Library, support 25+ languages now.

github.com/hprose/hprose-golang/v3Go 1.13+ 8 dependenciesv3.0.16updated 2y ago

1.3k

trpc-goby trpc-group

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

trpc.group/trpc-go/trpc-goGo 1.18+ 29 dependenciesv1.1.0updated 23d ago

1.2k

go-doudouby unionj-cloud

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.

github.com/unionj-cloud/go-doudou/v2Go 1.25+ 75 dependenciesv2.5.13updated 6mo ago

1.2k

rainby cenkalti

BitTorrent client and library.

github.com/cenkalti/rain/v2Go 1.26+ 21 dependenciesv2.4.5updated 1d ago

1.1k

raftby etcd-io

Go implementation of the Raft consensus protocol, by CoreOS.

go.etcd.io/raft/v3Go 1.26+ 3 dependenciesv3.7.0updated 10d ago

1.1k

arpcby lesismal

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

github.com/lesismal/arpcGo 1.22+ No dependencies v1.2.18updated 1mo ago

1.1k

Temporalby temporalio

Durable execution system for making code fault-tolerant and simple.

go.temporal.io/sdkGo 1.26+ 15 dependenciesv1.50.0updated today

996

consistentby buraksezer

Consistent hashing with bounded loads.

github.com/buraksezer/consistentGo 1.22+ No dependencies v1.1.0updated 2mo ago

787

gorpcby valyala

Simple, fast and scalable RPC library for high load.

updated 4y ago

709

go-sundheitby AppsFlyer

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

github.com/AppsFlyer/go-sundheitGo 1.24+ 3 dependenciesv0.6.0updated 3mo ago

560

digota

Grpc ecommerce microservice.

updated 5y ago

521

go-jumpby dgryski

Port of Google's "Jump" Consistent Hash function.

updated 5y ago

388

sleuthby ursiform

Library for master-less p2p auto-discovery and RPC between HTTP services (using ZeroMQ).

v1.0.2updated 3y ago

387

jsonrpcby ybbus

JSON-RPC 2.0 HTTP client implementation.

github.com/ybbus/jsonrpc/v3Go 1.21+ 1 dependencyv3.1.9updated 29d ago

374

dhtby anacrolix

BitTorrent Kademlia DHT implementation.

github.com/anacrolix/dht/v2Go 1.26+ 20 dependenciesupdated 1mo ago

363

Tarmacby tarmac-project

Framework for writing functions, microservices, or monoliths with WebAssembly

github.com/tarmac-project/tarmacGo 1.25+ 21 dependenciesv0.10.0updated 7d ago

345

jsonrpcby osamingo

The jsonrpc package helps implement of JSON-RPC 2.0.

github.com/osamingo/jsonrpc/v2Go 1.24+ 3 dependenciesv2.5.0updated 1y ago

193

outboxerby italolelis

Outboxer is a go library that implements the outbox pattern.

github.com/italolelis/outboxerGo 1.20+ 6 dependenciesv2.1.0updated today

166

outboxby oagudo

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

github.com/oagudo/outboxGo 1.24+ 1 dependencyv1.0.1updated 8mo ago

137

doublejumpby edwingeng

A revamped Google's jump consistent hash.

github.com/edwingeng/doublejumpGo 1.12+ 1 dependencyv1.0.1updated 4y ago

109

Semaphoreby jexia

A straightforward (micro) service orchestrator.

github.com/jexia/semaphore/v2Go 1.14+ 21 dependenciesv2.1.0updated 3y ago

96

cmd-stream-goby cmd-stream

High-performance distributed command pattern library for Go.

github.com/cmd-stream/cmd-stream-goGo 1.24+ 5 dependenciesv0.7.3updated 4mo ago

94

dotby dotchain

Distributed sync using operational transformation/OT.

github.com/dotchain/dotGo 1.12+ 6 dependenciesupdated 7y ago

89

capillariesby capillariesio

Distributed batch data processing framework.

github.com/capillariesio/capillariesGo 1.27+ 23 dependenciesv1.2.2updated 8d ago

74

flowgraphby vectaport

Flow-based programming package.

github.com/vectaport/flowgraphGo 1.26+ 1 dependencyupdated 21d ago

68

go-mysql-lockby sanketplus

MySQL based distributed lock.

github.com/sanketplus/go-mysql-lockGo 1.13+ 3 dependenciesv0.0.7updated 2y ago

67

drmaaby dgruber

Job submission library for cluster schedulers based on the DRMAA standard.

github.com/dgruber/drmaaGo 1.22+ No dependencies v1.0.0updated 2mo ago

51

go-pduby pdupub

A decentralized identity-based social network.

github.com/pdupub/go-pduGo 1.23+ 10 dependenciesupdated 6mo ago

50

committerby vadiminshakov

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

github.com/vadiminshakov/committer/v2Go 1.25+ 7 dependenciesv2.0.0updated 3d ago

45

consistenthashby mbrostami

Consistent hashing with configurable replicas.

github.com/mbrostami/consistenthash/v2Go 1.18+ No dependencies v2.2.0updated 5mo ago

35

gmsec

A Go distributed systems development framework.

github.com/gmsec/microGo 1.25+ 10 dependenciesupdated 8mo ago

27

dynatomicby tylfin

A library for using DynamoDB as an atomic counter.

updated 5y ago

18

bedrockby z5labs

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

github.com/z5labs/bedrockGo 1.27+ 1 dependencyv0.25.0updated 2d ago

17

failuredby andy2046

Adaptive accrual failure detector for distributed systems.

github.com/andy2046/failuredGo 1.15+ 1 dependencyv0.1.0updated 5y ago

15

healthby schigh

Health checker for Go services with Kubernetes probe support.

github.com/schigh/health/v2Go 1.22+ No dependencies v2.5.0updated 13d ago

12

circuitby schigh

Circuit breaker with gradual recovery via probabilistic throttling.

github.com/schigh/circuitGo 1.22+ No dependencies v1.0.0updated 7mo ago

7

lockby ubgo

Distributed lock family with one Go interface and five backends (filelock, flock, Redis, Postgres, etcd) — fencing tokens, semaphore mode, and observability hooks across all backends.

github.com/ubgo/lockGo 1.24+ No dependencies updated 20d ago

7

servicepackby psyb0t

Framework for running multiple services concurrently in a single binary, locally or distributed across machines.

github.com/psyb0t/servicepackGo 1.26+ 8 dependenciesv1.10.1updated 14d ago

3

rpcplatformby nexcode

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

github.com/nexcode/rpcplatformGo 1.27+ 6 dependenciesv1.8.0updated 1mo ago

2
d

dynamolock

DynamoDB-backed distributed locking implementation.

cirello.io

p

pglock

PostgreSQL-backed distributed locking implementation.

cirello.io

p

pjrpc

Golang JSON-RPC Server-Client with Protobuf spec.

gitlab.com

resgate

Realtime API Gateway for building REST, real time, and RPC APIs, where all clients are synchronized seamlessly.

resgate.io

Esc

Type to search every entry. ↑↓ to move, Enter to open.