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,981 4,291

go-kit

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

27,443 2,446

Kratos

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

25,655 4,157

grpc-go

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

22,924 4,667

go-micro

A distributed systems development framework.

22,746 2,406

NATS

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

19,737 1,790

raft

Golang implementation of the Raft consensus protocol, by HashiCorp.

9,005 1,060

rpcx

Distributed pluggable RPC service framework like alibaba Dubbo.

8,283 1,182

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,937 898

lura

Ultra performant API Gateway framework with middlewares.

6,768 583

torrent

BitTorrent client package.

6,017 663

dragonboat

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

5,302 568

evans

Evans: more expressive universal gRPC client.

4,477 193

emitter-io

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

4,001 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,155 395

sponge

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

2,830 268

liftbridge

Lightweight, fault-tolerant message streams for NATS.

2,782 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,246 233

mochi mqtt

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

1,853 310

redis-lock

Simplified distributed locking implementation using Redis.

1,747 163

hprose

Very newbility RPC Library, support 25+ languages now.

1,261 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,170 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 133

rain

BitTorrent client and library.

1,121 84

arpc

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

1,089 80

raft

Go implementation of the Raft consensus protocol, by CoreOS.

1,023 241

Temporal

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

880 298

consistent

Consistent hashing with bounded loads.

770 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.

1

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)