9 repositorios
Algorithms and services for creating globally unique IDs.
Explore 9 awesome GitHub repositories matching networking & communication · Distributed ID Generators. Refine with filters or upvote what's useful.
This project is a comprehensive educational repository providing technical documentation and learning materials across a wide range of computer science and software engineering domains. It serves as a centralized knowledge base for developers, covering core programming concepts, database management, distributed systems, and system design principles. The content spans fundamental Java programming, including collection frameworks and runtime environments, alongside deep dives into web communication protocols and browser internals. It also provides extensive resources on database internals, such
Presents distributed ID generation solutions, including database segment allocation patterns for global uniqueness.
This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It provides structured guides, roadmaps, and curricula focused on data structures, algorithms, system design, and frontend engineering to help candidates prepare for software engineering screenings. The repository distinguishes itself by offering a holistic approach to professional advancement. Beyond technical drills, it includes a career development handbook covering resume optimization, salary benchmarking, and strategic negotiation coaching. It also provides detailed methodologie
Discusses algorithms for creating globally unique, time-sortable identifiers for distributed chronological ordering.
Snowflake is a distributed unique ID generation service designed to produce non-colliding, time-ordered identification numbers at high scale. It functions as a scalable ID issuer that creates distinct entity identifiers across multiple server nodes to avoid coordination bottlenecks. The system utilizes stateless identifier coordination, calculating unique IDs through a deterministic mathematical formula rather than relying on a central database to track the last issued number. This approach allows it to generate identifiers for distributed database primary keys and high-scale transaction trac
Implements the Snowflake algorithm to produce time-ordered unique IDs from timestamps, worker IDs, and sequences.
Snowflake es un framework RPC de alta concurrencia y servicio de generación de ID distribuido. Proporciona la infraestructura para crear identificadores únicos y ordenados por tiempo a través de una red de servidores y facilita el desarrollo de servicios de red diseñados para manejar volúmenes masivos de solicitudes simultáneas. El sistema separa la lógica de transporte de bajo nivel del comportamiento de la aplicación, permitiendo la implementación de protocolos RPC personalizados. Incluye una herramienta de rastreo de solicitudes distribuida para visualizar el flujo de ejecución a través de los límites de la red y una interfaz de gestión del ciclo de vida del servidor para ajustar los niveles de registro y controlar los estados de los procesos durante el tiempo de ejecución. El proyecto cubre el monitoreo del sistema en tiempo real a través de la exportación de métricas basadas en JSON y el perfilado del rendimiento de la aplicación para analizar el uso del heap y la contención de hilos.
Implements a distributed ID generation service using a coordinated timestamp and machine-id scheme for time-ordered identifiers.
Leaf is a distributed unique ID generation system that provides two distinct modes for producing identifiers across multiple application instances without central coordination. It offers both a database-backed segment mode, which allocates blocks of IDs from a database table and caches them in memory for high throughput, and a Snowflake-style mode that combines timestamps, worker identifiers, and sequence counters to produce time-sortable unique IDs. The system distinguishes itself by offering dual-mode generation through a single RESTful endpoint, allowing applications to choose between segm
Delivers unique IDs at scale without central coordination, supporting both segment and timestamp-based schemes.
Masuit.Tools is a comprehensive static utility library for .NET and ASP.NET Core development. It provides a broad collection of reusable helper methods and infrastructure components that cover common programming tasks without requiring dependency injection or instance management. The library is organized as flat utility classes, making its functionality directly accessible from anywhere in a project. The toolkit distinguishes itself through a wide range of integrated capabilities that go beyond typical utility libraries. It includes a multithreaded range-request file downloader with pause and
Creates unique, short, URL-friendly identifiers suitable for distributed systems without a central coordinator.
Este proyecto es un generador de ID único distribuido diseñado para producir identificadores únicos y ordenables globalmente de 64 bits a través de múltiples nodos. Implementa un algoritmo compatible con Snowflake que evita colisiones combinando marcas de tiempo, identificadores de trabajador y números de secuencia en un solo entero. El sistema incluye un orquestador de ID de trabajador para asignar y mantener identidades de máquina únicas durante el inicio y la migración de instancias utilizando estrategias respaldadas por bases de datos. Para aumentar el rendimiento de las solicitudes y reducir la latencia, utiliza una capa de caché de búfer circular que pre-genera identificadores y emplea un mecanismo de recarga basado en umbrales. El software proporciona capacidades para gestionar claves de bases de datos distribuidas, coordinar nodos del sistema y configurar la distribución de bits para equilibrar las necesidades de concurrencia frente a la vida útil del sistema. También incluye utilidades para analizar los identificadores generados de vuelta a sus componentes originales.
Allocates unique worker identities during startup to ensure that each node generates a unique set of Snowflake IDs.
Sonyflake es una biblioteca de IDs únicos distribuidos que crea identificadores ordenados cronológicamente y libres de colisiones en múltiples máquinas. Funciona como un generador basado en tiempo que codifica marcas de tiempo en IDs, asegurando que los identificadores estén ordenados de forma monótona. El sistema opera sin una autoridad central de coordinación, produciendo IDs únicos en nodos distribuidos sin requerir comunicación de estado compartido o bloqueos centrales. Evita colisiones entre diferentes nodos incorporando identificadores de máquina conscientes del host, los cuales se resuelven utilizando direcciones de red privada o metadatos de instancias en la nube. La biblioteca soporta la asignación de bits personalizable, permitiendo equilibrar el conteo de máquinas y las tasas de generación. Estas capacidades permiten la generación de claves únicas ordenables para la indexación de bases de datos distribuidas y la gestión de identidades en microservicios.
Uses a Snowflake-inspired approach to incorporate machine IDs and timestamps to prevent collisions across nodes.
This project is a reference library of architectural blueprints, study materials, and design patterns for building scalable, high-availability distributed systems. It serves as a technical guide for scalability engineering, providing structural solutions for common engineering challenges. The repository focuses on distributed systems design, covering essential patterns for data replication, consensus algorithms, and transaction management. It distinguishes itself by offering detailed blueprints for specialized domains, including real-time data streaming, large-scale data storage, and high-ava
Provides patterns for generating globally unique identifiers across distributed servers using timestamp partitioning.