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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
baidu avatar

baidu/uid-generator

0
View on GitHub↗
5,572 stars·1,552 forks·Java·Apache-2.0·8 vues

Uid Generator

Ce projet est un générateur d'ID unique distribué conçu pour produire des identifiants 64 bits globalement uniques et triables à travers plusieurs nœuds. Il implémente un algorithme compatible Snowflake qui empêche les collisions en combinant des horodatages, des identifiants de travailleur et des numéros de séquence en un seul entier.

Le système inclut un orchestrateur d'ID de travailleur pour allouer et maintenir des identités de machine uniques pendant le démarrage et la migration de l'instance en utilisant des stratégies basées sur la base de données. Pour augmenter le débit des requêtes et réduire la latence, il utilise une couche de mise en cache à tampon circulaire qui pré-génère des identifiants et emploie un mécanisme de remplissage basé sur des seuils.

Le logiciel fournit des capacités pour gérer les clés de base de données distribuées, coordonner les nœuds système et configurer la distribution des bits pour équilibrer les besoins de concurrence par rapport à la durée de vie du système. Il inclut également des utilitaires pour analyser les identifiants générés en leurs composants originaux.

Features

  • Unique Identifier Generators - Provides a system for generating globally unique, sortable identifiers to prevent collisions across distributed server nodes.
  • Distributed Identifier Generators - Generates unique primary keys across distributed nodes without requiring a central coordination round-trip for every ID.
  • Distributed Primary Key Generation - Generates time-ordered unique identifiers specifically designed for use as primary keys in distributed databases.
  • Snowflake ID Generators - Produces 64-bit unique identifiers using the Snowflake algorithm to ensure global uniqueness in distributed environments.
  • ZooKeeper Worker Assignments - Allocates unique worker identities during startup to ensure that each node generates a unique set of Snowflake IDs.
  • Concurrent Ring Buffering - Utilizes concurrent ring buffers to decouple the production of unique IDs from their consumption by requests.
  • Distributed Coordination Systems - Coordinates unique worker identities across a cluster to ensure distinct node identities in a distributed system.
  • Worker Identity Assignments - Provides a mechanism to assign unique worker identities during startup via a database to prevent ID collisions.
  • Identifier Bit-Packing - Implements bit-packing of timestamps, worker IDs, and sequences to construct a unique 64-bit identifier.
  • Batch ID Caches - Utilizes a batch ID cache to store pre-produced identifiers, significantly reducing concurrency bottlenecks.
  • Segment Caching Refills - Implements a threshold-based refill mechanism to replenish the ID cache from the database before it is depleted.
  • High-Throughput ID Generators - Achieves high throughput by pre-generating and caching identifiers in a ring buffer to reduce request latency.
  • Cache-Line Padding - Employs cache-line padding between buffer elements to eliminate false sharing and increase hardware throughput.

Historique des stars

Graphique de l'historique des stars pour baidu/uid-generatorGraphique de l'historique des stars pour baidu/uid-generator

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait baidu/uid-generator ?

Ce projet est un générateur d'ID unique distribué conçu pour produire des identifiants 64 bits globalement uniques et triables à travers plusieurs nœuds. Il implémente un algorithme compatible Snowflake qui empêche les collisions en combinant des horodatages, des identifiants de travailleur et des numéros de séquence en un seul entier.

Quelles sont les fonctionnalités principales de baidu/uid-generator ?

Les fonctionnalités principales de baidu/uid-generator sont : Unique Identifier Generators, Distributed Identifier Generators, Distributed Primary Key Generation, Snowflake ID Generators, ZooKeeper Worker Assignments, Concurrent Ring Buffering, Distributed Coordination Systems, Worker Identity Assignments.

Quelles sont les alternatives open-source à baidu/uid-generator ?

Les alternatives open-source à baidu/uid-generator incluent : twitter-archive/snowflake — Snowflake is a distributed unique ID generation service designed to produce non-colliding, time-ordered identification… meituan-dianping/leaf — Leaf is a distributed unique ID generation system that provides two distinct modes for producing identifiers across… sony/sonyflake — Sonyflake is a distributed unique ID library that creates collision-free, chronologically ordered identifiers across… segmentio/ksuid — ksuid is a Go implementation of k-sortable unique identifiers. It provides a system for generating globally unique… rs/xid — xid is a distributed unique identifier library designed to generate compact, globally unique, and k-sortable… ramsey/uuid — This PHP library provides tools for generating and validating universally unique identifiers according to RFC 4122…

Alternatives open source à Uid Generator

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Uid Generator.
  • twitter-archive/snowflakeAvatar de twitter-archive

    twitter-archive/snowflake

    7,775Voir sur GitHub↗

    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

    Scala
    Voir sur GitHub↗7,775
  • meituan-dianping/leafAvatar de Meituan-Dianping

    Meituan-Dianping/Leaf

    6,730Voir sur GitHub↗

    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

    Javadistributed-id-generatorleaf
    Voir sur GitHub↗6,730
  • sony/sonyflakeAvatar de sony

    sony/sonyflake

    4,382Voir sur GitHub↗

    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

    Gogolangid-generator
    Voir sur GitHub↗4,382
  • segmentio/ksuidAvatar de segmentio

    segmentio/ksuid

    5,260Voir sur GitHub↗

    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

    Gocoordinationgogolang
    Voir sur GitHub↗5,260
Voir les 30 alternatives à Uid Generator→