awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
hashicorp avatar

hashicorp/memberlist

0
View on GitHub↗
4,068 estrellas·472 forks·Go·MPL-2.0·7 vistas

Memberlist

Memberlist is a Go library used for maintaining distributed cluster membership and failure detection via a peer-to-peer gossip protocol. It functions as a cluster state synchronizer, allowing nodes to track active members and propagate metadata without a central coordinator.

The library implements a secure gossip mechanism using AES-GCM encryption to protect inter-node communication and membership data. It distinguishes its failure detection through a suspicion-based model and adaptive timeout scaling, which reduces false positives caused by transient network latency.

The project provides capabilities for broadcasting custom user-defined data, synchronizing node state via push-pull mechanisms, and managing network transport through a decoupled interface. It also includes tools for operational monitoring, such as round-trip time measurement and performance metrics emission.

Features

  • Gossip-Based Cluster Membership - Provides a gossip-based protocol to maintain a consistent distributed view of cluster membership.
  • Gossip Protocols - Uses a peer-to-peer gossip mechanism to propagate membership updates and custom user data across the cluster.
  • Cluster State Synchronization - Synchronizes full membership lists and node state using a TCP-based push-pull reconciliation mechanism.
  • Distributed State Synchronization - Synchronizes membership and metadata state across distributed nodes to ensure eventual consistency.
  • Node Failure Detection - Identifies unresponsive nodes using heartbeats and broadcasts suspicion messages to maintain membership accuracy.
  • Suspicion-Based Failure Detection - Implements a suspicion-based model to reduce false positive node evictions caused by transient network flakiness.
  • SWIM Failure Detectors - Implements a distributed failure detector using a gossip-based algorithm to identify unresponsive peers.
  • Message Encryption - Secures gossip communication between nodes using encryption to prevent unauthorized reading of cluster data.
  • AEAD Encryptions and Decryptions - Uses AES-GCM authenticated encryption to secure membership data and inter-node communication.
  • Gossip Packet Authentication - Attaches labels to packets and streams to authenticate data and validate inbound traffic between nodes.
  • AES-Encrypted Transports - Secures inter-node gossip communication and membership data using AES-GCM encryption.
  • Heartbeat - Monitors remote peer health using lightweight UDP heartbeat pings and round-trip time measurements.
  • Cluster Membership Change Notifications - Triggers notifications when nodes join, leave, or update metadata to allow applications to react to state changes.
  • Encrypted Gossip Implementations - Implements a secure communication layer using AES-GCM encryption to protect inter-node gossip and membership data.
  • Cluster Merge Controls - Evaluates peer lists during join operations to prevent unauthorized cluster unions.
  • Node Metadata Management - Associates custom byte-limited metadata with nodes to be synchronized across the cluster membership list.
  • Cluster-Wide Broadcasting - Sends state synchronization messages to all discovered nodes using a prioritized queuing mechanism.
  • Priority-Based Broadcast Queues - Manages the distribution of cluster-wide messages using queues that prioritize new updates and limit retransmissions.
  • Gossip Message Broadcasting - Allows the transmission of arbitrary user-defined data across the gossip network to all cluster members.
  • Reliable Byte Stream Implementations - Transmits byte payloads to specific nodes using a variety of delivery guarantees including TCP and UDP.
  • Round-Trip Time Measurement - Measures the duration between pings and acknowledgements to estimate network latency between peers.
  • Peer-to-Peer Networking Libraries - Provides a library for transport, security, and peer discovery to facilitate decentralized cluster communication.
  • Gossip Broadcasts - Propagates user-defined custom data across the cluster using gossip-style broadcasts.
  • Transport Abstractions - Decouples gossip logic from the network layer via an interface that abstracts UDP packets and TCP streams.
  • Transport Listeners - Creates TCP and UDP listeners on specific addresses and ports to manage connectionless packets and streams.
  • Encryption Key Management - Maintains and rotates the shared secret keys used to encrypt and decrypt all cluster communications.
  • Peer Communication Security - Secures inter-node communication and gossip data using shared keys and AES-GCM encryption.
  • Adaptive Timeouts - Implements dynamic adjustment of failure detection timeouts based on network latency and local health.
  • Algorithms - Gossip protocol for cluster membership.

Historial de estrellas

Gráfico del historial de estrellas de hashicorp/memberlistGráfico del historial de estrellas de hashicorp/memberlist

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Memberlist

Proyectos open-source similares, clasificados según cuántas características comparten con Memberlist.
  • hashicorp/raftAvatar de hashicorp

    hashicorp/raft

    9,037Ver en GitHub↗

    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

    Go
    Ver en GitHub↗9,037
  • hashicorp/serfAvatar de hashicorp

    hashicorp/serf

    6,058Ver en GitHub↗

    Serf is a decentralized cluster coordination tool that manages node membership, failure detection, and event broadcasting across a distributed system without a central coordinator. Every node runs an identical agent process that independently handles membership, health monitoring, and event propagation through a peer-to-peer gossip protocol, creating a leaderless architecture where no single point of failure exists. The project implements the SWIM failure detection algorithm, where each node monitors a small random subset of peers to detect unreachable or failed nodes in real time. Custom use

    Go
    Ver en GitHub↗6,058
  • zeromq/libzmqAvatar de zeromq

    zeromq/libzmq

    10,902Ver en GitHub↗

    libzmq is a C++ based asynchronous messaging engine and networking core designed for routing non-blocking messages between distributed nodes. It functions as a distributed message queue that implements the ZMTP wire-format framing protocol to standardize how data moves across different network transport layers. The library provides a multi-transport abstraction that allows a single interface to route data across TCP, IPC, and in-process memory. It incorporates a cryptographic layer to encrypt and authenticate transmissions between nodes and employs topology-based messaging patterns, such as p

    C++concurrencylibzmqmessaging
    Ver en GitHub↗10,902
  • libp2p/rust-libp2pAvatar de libp2p

    libp2p/rust-libp2p

    5,556Ver en GitHub↗

    rust-libp2p is a modular peer-to-peer networking library written in Rust, implementing the libp2p specification. It provides a composable stack of transport, security, and discovery protocols that can be mixed and matched to build decentralized applications, with a central swarm manager coordinating all active connections, protocol negotiation, and peer lifecycle. The library distinguishes itself through a pluggable transport abstraction that supports TCP, QUIC, WebSocket, WebRTC, and WebTransport, enabling cross-platform operation across browsers, mobile devices, and servers. It secures ever

    Rustdecentralizationlibp2pnetworking
    Ver en GitHub↗5,556
Ver las 30 alternativas a Memberlist→

Preguntas frecuentes

¿Qué hace hashicorp/memberlist?

Memberlist is a Go library used for maintaining distributed cluster membership and failure detection via a peer-to-peer gossip protocol. It functions as a cluster state synchronizer, allowing nodes to track active members and propagate metadata without a central coordinator.

¿Cuáles son las características principales de hashicorp/memberlist?

Las características principales de hashicorp/memberlist son: Gossip-Based Cluster Membership, Gossip Protocols, Cluster State Synchronization, Distributed State Synchronization, Node Failure Detection, Suspicion-Based Failure Detection, SWIM Failure Detectors, Message Encryption.

¿Qué alternativas de código abierto existen para hashicorp/memberlist?

Las alternativas de código abierto para hashicorp/memberlist incluyen: hashicorp/raft — This is a Raft consensus library and distributed consensus engine implemented in Go. It provides the primitives… hashicorp/serf — Serf is a decentralized cluster coordination tool that manages node membership, failure detection, and event… zeromq/libzmq — libzmq is a C++ based asynchronous messaging engine and networking core designed for routing non-blocking messages… libp2p/rust-libp2p — rust-libp2p is a modular peer-to-peer networking library written in Rust, implementing the libp2p specification. It… boto/boto3 — Boto3 is the AWS SDK for Python, providing a programmatic interface for managing and automating AWS cloud… basho/riak — Riak is a decentralized NoSQL key-value store designed for high availability and fault tolerance. It is a Dynamo-style…