30 open-source projects similar to baidu/uid-generator, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Uid Generator alternative.
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
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
Sonyflake is a distributed unique ID library that creates collision-free, chronologically ordered identifiers across multiple machines. It functions as a time-based generator that encodes timestamps into IDs, ensuring that identifiers are monotonically sorted. The system operates without a central coordinating authority, producing unique IDs across distributed nodes without requiring shared state communication or central locks. It prevents collisions between different nodes by incorporating host-aware machine identifiers, which are resolved using private network addresses or cloud instance me
ksuid is a Go implementation of k-sortable unique identifiers. It provides a system for generating globally unique identifiers that maintain a natural chronological order based on their generation timestamp. The project enables the creation of unique keys across distributed systems without a central coordinator. These identifiers are designed for use as database primary keys to maintain index performance and insert efficiency. The library includes capabilities for identifier serialization and parsing, allowing conversion between binary, text, and SQL formats. It also provides command-line to
xid is a distributed unique identifier library designed to generate compact, globally unique, and k-sortable identifiers. It functions as a stateless generator that creates identifiers without requiring a central coordinator or network synchronization between instances. The project converts binary identifiers into human-readable, case-insensitive Base32 strings, making the output suitable for use in URLs and web applications. It ensures uniqueness across different processes and hosts by combining high-resolution timestamps with machine identifiers. These identifiers are designed for use as d
This PHP library provides tools for generating and validating universally unique identifiers according to RFC 4122 standards. It implements a generation tool for creating version 1, 3, 4, and 5 identifiers, as well as sequential and Nil UUIDs. The library features specialized capabilities for transforming identifiers between hexadecimal strings, binary bytes, integers, and date objects. It supports the generation of sequential identifiers to improve database indexing and storage performance, as well as deterministic name-based identifiers using MD5 or SHA-1 hashing. The project includes a va
This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac
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
This project is a UUID generation library providing a standards-compliant implementation of RFC 4122. It serves as a tool for creating and validating universally unique identifiers across multiple versions to ensure global uniqueness and prevent data collisions. The library supports several generation methods, including random-based entropy, timestamp sequencing, and namespace-based hashing. It also includes utilities for identifier validation, parsing, and converting identifiers between hexadecimal string representations and binary byte arrays. A command line utility is included for the man
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
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
MyBatis-Plus is a persistence framework extension for Java that simplifies data access by reducing boilerplate code. It provides a toolkit for automating common database operations, utilizing dynamic query wrappers and a system for automated CRUD generation. The project distinguishes itself through a code generation system that produces mapper, model, service, and controller layers based on database metadata. It also implements a security layer that prevents SQL injection through input sanitization and blocks dangerous global update or delete operations to prevent accidental data loss. The f
This project is an implementation of the ULID standard in the Go programming language. It provides tools for generating universally unique, lexicographically sortable identifiers that combine millisecond timestamps with random data. The library ensures that identifiers maintain chronological order through alphabetical sorting. It includes a monotonic generator to guarantee that multiple identifiers created within the same millisecond are produced in a strictly increasing sequence. The project covers unique identifier generation and database primary key optimization. It also provides a comman
shortid is a library for creating compact, non-sequential strings used as unique identifiers for database records and public URLs. It functions as a URL-friendly identifier utility designed to produce short alphanumeric strings. The project allows for the use of a custom alphabet to control the visual appearance of identifiers and avoid ambiguity. This custom character set mapping ensures that generated keys meet specific formatting or branding requirements. The system includes capabilities for non-sequential key generation to prevent resource enumeration, as well as tools to validate whethe
This is a Go library for generating and parsing universally unique identifiers. It provides a programmatic way to produce distinct identifiers and validate them according to the RFC 4122 industry standard. The project focuses on ensuring data uniqueness across distributed systems and databases. It includes tools for creating identifiers that follow recognized specifications and converting these identifiers between string representations and structured objects. The library covers capabilities for data validation, parsing, and distributed data indexing. It also provides utilities for applicati
node-uuid is a JavaScript library for generating and validating universally unique identifiers that comply with the RFC 4122 standard. It provides a utility for creating random, timestamp-based, or namespace-based identifiers within a Node.js environment. The library includes tools for detecting the specific standard version of a provided identifier and transforming identifiers between different versions. It also provides a command line utility for generating identifiers directly from the terminal. The project covers binary manipulation, including parsing strings into byte arrays and stringi
Flecs is a high-performance entity component system framework and data-oriented programming library. It serves as a simulation engine core and game engine architecture tool, decoupling state from behavior by separating entities, components, and systems. The framework features a runtime reflection layer for dynamic data inspection and a built-in scripting system for defining entity behavior without recompilation. It also includes a network interface and REST API for remote simulation administration and state querying. The library covers a broad surface of simulation capabilities, including ar
Consul is a distributed coordination service and service mesh tool used for service discovery, health monitoring, and cluster state management across dynamic networks. It provides a platform for locating network addresses of services and managing traffic across distributed infrastructure using DNS and HTTP interfaces. The project distinguishes itself through multi-datacenter network orchestration, enabling the federation of services across different regions using mesh gateways. It secures communication via a service mesh architecture that employs identity-based authorization and mutual TLS en
This project provides the official specification for ULIDs, which are 128-bit identifiers that combine a millisecond-precision timestamp and random data. These identifiers are designed to be lexicographically sortable, ensuring that they maintain a strict chronological sequence for database indexing and time-based sorting. The specification defines a standard for binary-to-string serialization using a Crockford-inspired Base32 alphabet. This encoding is intended to produce human-readable strings while excluding ambiguous characters to prevent transcription errors. The technical standards cov
Snowflake is a high-concurrency RPC framework and distributed ID generation service. It provides the infrastructure to create unique, time-ordered identifiers across a network of servers and facilitates the development of network services designed to handle massive volumes of simultaneous requests. The system separates low-level transport logic from application behavior, allowing for the implementation of custom RPC protocols. It includes a distributed request tracing tool to visualize execution flow across network boundaries and a server lifecycle management interface to adjust logging level
This project is a collection of reference implementations and practical guides for building enterprise Java applications using the Spring Boot framework. It serves as a backend project gallery and implementation guide, providing a set of architectures for common server patterns. The repository distinguishes itself through a focus on distributed system design, offering examples for global unique identifier generation, distributed caching, and full-text search. It also includes templates and examples for creating custom Spring Boot starters to encapsulate shared dependencies and configurations
Typeid is a library for generating, encoding, and validating unique identifiers that combine human-readable prefixes with sortable, type-safe suffixes. By integrating descriptive prefixes with standardized binary-to-string conversion, it provides a structured approach to managing identifiers that remain globally unique and consistent across distributed systems. The project distinguishes itself by utilizing time-ordered bit structures and Crockford Base32 encoding to ensure that identifiers are both chronologically sortable and URL-safe. This format allows for the translation of standard 128-b
ClickHouse is a high-performance, columnar analytical database designed for real-time query execution and large-scale data aggregation. It functions as a distributed data warehouse capable of processing petabytes of information, while also providing an embedded engine that integrates directly into applications for native query capabilities without external dependencies. The system is built to handle high-throughput ingestion and complex analytical workloads, delivering millisecond-level latency for interactive dashboards and operational monitoring. The platform distinguishes itself through ad
Nano is a distributed application framework designed for building systems using an actor-based messaging model. It functions as a distributed actor framework that decouples components through asynchronous messaging to maintain state isolation across a server cluster. The system acts as a cluster message dispatcher and session-aware request router, tracking client state to route incoming messages to the specific agent holding the session data. It utilizes a distributed agent registry to coordinate the dispatching of messages between multiple application instances acting as agents. The framewo
ET is a C# game server framework and distributed actor model runtime designed for large-scale multiplayer environments. It provides a comprehensive toolkit for building distributed game backends, incorporating a multiplayer network transport layer and a specialized suite for game AI and pathfinding. The framework is distinguished by its use of a distributed actor model to scale processing across multiple threads and servers, utilizing isolated actors for state management and messaging. It features a unified codebase architecture that allows shared logic between the server and client, enabling
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
m3 is a distributed time series database designed for high-resolution metrics and high-cardinality data management. It functions as a scalable storage system and a multi-cluster query engine, providing a distributed metrics aggregator capable of downsampling and summarizing data before it is committed to storage. The project distinguishes itself through a coordinated cluster model using etcd for node membership and shard placement. It supports multiple ingestion protocols, including the Prometheus remote write protocol, InfluxDB line protocol, and Graphite Carbon plaintext protocol, and provi
Akka Core is an actor model framework and asynchronous concurrency library used for building scalable and resilient distributed systems. It provides a distributed computing platform and fault tolerant runtime that manages communication and state across networked nodes. The system uses location-transparent messaging and a cluster management system to organize nodes into high-availability architectures. This allows for the creation of elastic clusters that scale resources on demand and coordinate distributed workloads. The platform handles concurrent state management and distributed systems or
DiceDB is a distributed cache manager and hierarchical storage engine based on a Valkey key-value store. It functions as a high-availability key-value cluster that balances performance and cost by distributing data across memory and disk tiers. The system supports working sets larger than available RAM by persisting evicted keys to disk and restoring them on demand. It also includes a real-time query subscription system that notifies clients when data matching specific criteria is updated. The project provides distributed cache coordination through master node health monitoring and quorum-ba
InternetArchitect is an educational collection of documents and source code designed as a high concurrency architecture course. It serves as a distributed systems implementation guide, providing technical patterns and practical examples for designing scalable internet architectures that maintain stability under heavy traffic loads. The project focuses on high-performance database optimization and microservices design patterns. It covers strategies for reducing latency and increasing throughput via database sharding and proxy layers, as well as coordinating global state across distributed clus