Distributed Systems

Packages that help with building Distributed Systems.

go-zero29.7K

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.

go-kit26.7K

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

Kratos23.6K

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

go-micro22.1K

A distributed systems development framework.

grpc-go21.3K

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

NATS16.3K

NATS is a simple, secure, and

micro12.2K

A distributed systems runtime for the cloud and beyond.

raft8.4K

Golang implementation of the Raft consensus protocol, by HashiCorp.

rpcx8.1K

Distributed pluggable RPC service framework like alibaba Dubbo.

Kitex7.2K

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.

lura6.4K

Ultra performant API Gateway framework with middlewares.

torrent5.6K

BitTorrent client package.

dragonboat5.1K

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

evans4.3K

Evans: more expressive universal gRPC client.

emitter-io3.9K

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

gleam3.5K

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.

glow3.2K

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

liftbridge2.6K

Lightweight, fault-tolerant message streams for NATS.

Dragonfly2.4K

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.

go-eagle2.2K

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

sponge1.6K

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

redis-lock1.5K

Simplified distributed locking implementation using Redis.

go-doudou1.4K

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.

mochi mqtt1.4K

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

hprose1.3K

Very newbility RPC Library, support 25+ languages now.

rain995

BitTorrent client and library.

arpc977

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

K8gb913

A cloud native Kubernetes Global Balancer.

trpc-go865

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

ringpop-go839

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

go-health753

Library for enabling asynchronous dependency health checks in your service.

raft711

Go implementation of the Raft consensus protocol, by CoreOS.

consistent710

Consistent hashing with bounded loads.

gorpc707

Simple, fast and scalable RPC library for high load.

Temporal558

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

go-sundheit553

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

digota511

grpc ecommerce microservice.

go-jump383

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

sleuth378

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

jsonrpc338

JSON-RPC 2.0 HTTP client implementation.

Tarmac329

Framework for writing functions, microservices, or monoliths with WebAssembly

dht316

BitTorrent Kademlia DHT implementation.

jsonrpc188

The jsonrpc package helps implement of JSON-RPC 2.0.

outboxer160

Outboxer is a go library that implements the outbox pattern.

doublejump103

A revamped Google's jump consistent hash.

Semaphore94

A straightforward (micro) service orchestrator.

dot87

distributed sync using operational transformation/OT.

celeriac72

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

capillaries63

distributed batch data processing framework.

go-mysql-lock62

MySQL based distributed lock.

flowgraph60

flow-based programming package.

drmaa48

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

go-pdu47

A decentralized identity-based social network.

committer31

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

consistenthash28

Consistent hashing with configurable replicas.

gmsec25

A Go distributed systems development framework.

dynatomic17

A library for using DynamoDB as an atomic counter.

failured13

adaptive accrual failure detector for distributed systems.

bedrock7

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