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.

33,009 4,294

go-kit

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

27,421 2,446

Kratos

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

25,681 4,159

grpc-go

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

22,932 4,680

go-micro

A distributed systems development framework.

22,749 2,404

NATS

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

19,823 1,799

raft

Golang implementation of the Raft consensus protocol, by HashiCorp.

9,010 1,061

rpcx

Distributed pluggable RPC service framework like alibaba Dubbo.

8,284 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,953 899

lura

Ultra performant API Gateway framework with middlewares.

6,775 582

torrent

BitTorrent client package.

6,023 666

dragonboat

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

5,305 569

evans

Evans: more expressive universal gRPC client.

4,478 192

emitter-io

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

4,003 357

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,220 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,167 397

sponge

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

2,841 269

liftbridge

Lightweight, fault-tolerant message streams for NATS.

2,784 117

go-eagle

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

2,423 259

oras

CLI and library for OCI Artifacts in container registries.

2,265 234

mochi mqtt

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

1,862 310

redis-lock

Simplified distributed locking implementation using Redis.

1,748 164

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,168 139

trpc-go

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

1,147 132

rain

BitTorrent client and library.

1,126 85

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,034 246

Temporal

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

895 299

consistent

Consistent hashing with bounded loads.

774 75

gorpc

Simple, fast and scalable RPC library for high load.

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

390 33

sleuth

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

387 24

jsonrpc

JSON-RPC 2.0 HTTP client implementation.

370 99

dht

BitTorrent Kademlia DHT implementation.

355 67

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.

128 3

doublejump

A revamped Google's jump consistent hash.

111 14

Semaphore

A straightforward (micro) service orchestrator.

95 16

cmd-stream-go

High-performance distributed command pattern library for Go.

92 6

dot

distributed sync using operational transformation/OT.

87 8

capillaries

distributed batch data processing framework.

72 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).

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

4 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)