Distributed Systems

65 packages 3 resources

Packages (65)

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.

32,988 4,289

go-kit

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

27,428 2,447

Kratos

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

25,661 4,156

grpc-go

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

22,926 4,668

go-micro

A distributed systems development framework.

22,750 2,405

NATS

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

19,749 1,791

raft

Golang implementation of the Raft consensus protocol, by HashiCorp.

9,008 1,060

rpcx

Distributed pluggable RPC service framework like alibaba Dubbo.

8,283 1,181

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.

7,941 898

lura

Ultra performant API Gateway framework with middlewares.

6,771 582

torrent

BitTorrent client package.

6,019 665

dragonboat

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

5,304 569

evans

Evans: more expressive universal gRPC client.

4,479 193

emitter-io

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

4,002 356

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.

3,558 291

glow

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

3,221 249

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.

3,159 395

sponge

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

2,836 269

liftbridge

Lightweight, fault-tolerant message streams for NATS.

2,783 117

go-eagle

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

2,421 259

oras

CLI and library for OCI Artifacts in container registries.

2,250 233

mochi mqtt

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

1,856 310

redis-lock

Simplified distributed locking implementation using Redis.

1,746 163

hprose

Very newbility RPC Library, support 25+ languages now.

1,262 198

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.

1,171 196

K8gb

A cloud native Kubernetes Global Balancer.

1,167 139

trpc-go

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

1,143 132

rain

BitTorrent client and library.

1,124 84

arpc

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

1,087 80

raft

Go implementation of the Raft consensus protocol, by CoreOS.

1,025 242

Temporal

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

884 299

consistent

Consistent hashing with bounded loads.

771 75

gorpc

Simple, fast and scalable RPC library for high load.

708 98

go-sundheit

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

560 30

digota

grpc ecommerce microservice.

525 86

go-jump

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

389 33

sleuth

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

388 24

jsonrpc

JSON-RPC 2.0 HTTP client implementation.

370 99

dht

BitTorrent Kademlia DHT implementation.

354 66

Tarmac

Framework for writing functions, microservices, or monoliths with WebAssembly

344 16

jsonrpc

The jsonrpc package helps implement of JSON-RPC 2.0.

193 22

outboxer

Outboxer is a go library that implements the outbox pattern.

167 24

outbox

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

127 3

doublejump

A revamped Google's jump consistent hash.

110 14

Semaphore

A straightforward (micro) service orchestrator.

95 16

cmd-stream-go

High-performance distributed command pattern library for Go.

88 6

dot

distributed sync using operational transformation/OT.

87 8

capillaries

distributed batch data processing framework.

71 4

flowgraph

flow-based programming package.

65 9

drmaa

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

51 19

go-pdu

A decentralized identity-based social network.

49 7

committer

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

42 6

gmsec

A Go distributed systems development framework.

26 6

dynatomic

A library for using DynamoDB as an atomic counter.

17 3

bedrock

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

15 1

failured

adaptive accrual failure detector for distributed systems.

15 2

health

Health checker for Go services with Kubernetes probe support.

11 2

circuit

Circuit breaker with gradual recovery via probabilistic throttling.

3 2

lock

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.

3

rpcplatform

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

1

micro

A distributed systems runtime for the cloud and beyond.

pjrpc

Golang JSON-RPC Server-Client with Protobuf spec.

Resources & Links (3)