30 open-source projects similar to anacrolix/dht, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Dht alternative.
Go-micro is a distributed systems development toolkit designed for building, connecting, and managing modular microservices. It provides a comprehensive framework for service discovery, remote procedure call abstraction, and event-driven messaging, allowing developers to create decoupled architectures that communicate asynchronously through shared message brokers. The project distinguishes itself by integrating autonomous agent orchestration and language model tool binding directly into the service lifecycle. By exposing internal service endpoints as standardized tools, it enables AI agents t
This is a Raft consensus library and distributed consensus engine implemented in Go. It provides the primitives necessary to build fault-tolerant distributed services by implementing a replicated state machine that ensures a group of servers agree on a shared system state through leader election and log replication. The project distinguishes itself through a pluggable architecture for storage backends and snapshot storage, decoupling the consensus logic from physical persistence. It includes specialized mechanisms for leadership transfer, protocol version management to support rolling upgrade
Hprose is a cross-language RPC. This project is Hprose for Golang.
More effective network communication, two-way calling, notify and broadcast supported.
A Go library that implements Consistent Hashing with zero dependency
Kit is a microservices architectural framework and toolkit for Go. It provides a set of standardized primitives and abstractions for implementing service, endpoint, and transport layers in a decoupled manner. The framework focuses on system instrumentation through integrated distributed request tracing and a service instrumentation toolkit that utilizes counters and gauges to export performance data to external monitoring backends. It includes a structured logging library that records system events as key-value pairs to ensure compatibility with log aggregation tools. The project covers a br
grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for high-performance service communication. It uses the HTTP/2 protocol to execute functions on remote servers as if they were local methods and utilizes protobuf service bindings to generate type-safe client and server code. The project features a bidirectional streaming transport that supports asynchronous, full-duplex message streams between clients and servers. This networking layer allows for various communication patterns, including client-to-server and server-to-client streaming, to
Build Your Own Kafka
Consistent is a Go library that implements consistent hashing with bounded loads to distribute data keys across nodes in a distributed system. It provides a mechanism for mapping keys to cluster members that minimizes data movement during membership changes while preventing performance hotspots. The library distinguishes itself by enforcing strict capacity limits on individual nodes, ensuring that no single member becomes overwhelmed by excessive key assignments. It supports virtual node mapping to distribute physical capacity across the hash ring, allowing for granular control over load bala
A library that implements the outboxer pattern in go
Take control of your data, connect with anything, and expose it anywhere through protocols such as HTTP, GraphQL, and gRPC.
Kafka-style message streaming in Go. Built on NATS. Single binary, no JVM, no ZooKeeper.
Dragonboat is a Go implementation of the Raft consensus protocol designed to maintain consistent state across a distributed cluster of nodes. It provides a library for building distributed state machines that ensure data integrity and fault tolerance during system failures. The project distinguishes itself through a multi-group Raft implementation, which partitions data across independent consensus groups to distribute workloads and increase overall system processing capacity. It also incorporates mutual TLS to encrypt inter-node communication and verify the identity of cluster members. The
This project is a full-featured BitTorrent client library and protocol implementation. It provides the core components necessary for peer-to-peer file sharing, including a networking stack that supports the BitTorrent specification, tracker communication, and swarm management. A primary differentiator is the inclusion of a virtual filesystem that allows torrents to be mounted as read-only drives. This system enables on-demand content streaming, where specific data pieces are fetched from the network only when a read request occurs, rather than requiring the entire archive to be downloaded fir
A Go distributed systems development framework
etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a cluster of nodes. It functions as a reliable registry for storing and synchronizing critical settings and metadata used by distributed applications. The system implements the Raft consensus algorithm to ensure data consistency and leader election across servers. To protect data transfers and verify node identities, it utilizes a network security layer based on mutual TLS and client certificates. Its capabilities cover distributed configuration management, cluster state synchro
Simplified distributed locking implementation using Redis
Compute cluster (HPC) job submission library for Go (#golang) based on the open DRMAA standard.
distributed data sync with operational transformation/transforms
A library built to provide support for defining service health for golang services. It allows you to register async health checks for your dependencies and the service itself, provides a health endpoint that exposes their status, and health metrics.
🌧 BitTorrent client and library in Go
A revamped Google's jump consistent hash
High performance, distributed and low latency publish-subscribe platform.
Fast, efficient, and scalable distributed map/reduce system, DAG execution, in memory or on disk, written in pure Go, runs standalone or distributedly.
Glow is an easy-to-use distributed computation system written in Go, similar to Hadoop Map Reduce, Spark, Flink, Storm, etc. I am also working on another similar pure Go system, https://github.com/chrislusf/gleam , which is more flexible and more performant.