awesome-repositories.com
Blog
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
·
sony avatar

sony/sonyflake

0
View on GitHub↗
4,382 stars·328 forks·Go·MIT·4 vues

Sonyflake

Sonyflake est une bibliothèque d'identifiants uniques distribués qui crée des identifiants sans collision et ordonnés chronologiquement sur plusieurs machines. Il fonctionne comme un générateur basé sur le temps qui encode des horodatages dans des identifiants, garantissant que les identifiants sont triés de manière monotone.

Le système fonctionne sans autorité de coordination centrale, produisant des identifiants uniques sur des nœuds distribués sans nécessiter de communication d'état partagé ou de verrous centraux. Il empêche les collisions entre différents nœuds en incorporant des identifiants de machine conscients de l'hôte, qui sont résolus en utilisant des adresses réseau privées ou des métadonnées d'instance cloud.

La bibliothèque prend en charge l'allocation de bits personnalisable, permettant d'équilibrer le nombre de machines et les taux de génération. Ces capacités permettent la génération de clés uniques triables pour l'indexation de bases de données distribuées et la gestion des identités à travers les microservices.

Features

  • Distributed Identifier Generators - Provides a distributed unique identifier generator that operates without central coordination or shared locks.
  • Snowflake ID Generators - Uses a Snowflake-inspired approach to incorporate machine IDs and timestamps to prevent collisions across nodes.
  • Chronological ID Sequencing - Ensures IDs are chronologically sortable by placing a millisecond-precision epoch in the most significant bits.
  • Distributed ID Generators - Implements an algorithm for creating globally unique identifiers across a distributed cluster without coordination.
  • Identifier Bit-Packing - Uses bit-packing to combine timestamps, machine IDs, and sequence numbers into a single 64-bit integer.
  • Machine Identity Extraction - Automatically derives a unique host identifier by hashing private IP addresses or using cloud instance metadata.
  • Machine Identifiers - Assigns unique system identifiers based on private network addresses or cloud metadata to prevent ID collisions.
  • Millisecond Clock Sequences - Implements sequence numbers that reset every millisecond to maintain uniqueness for IDs generated within the same time window.
  • Distributed Entity Identification - Assigns distinct, time-ordered IDs to entities across microservices to ensure scalability and consistency.
  • Bit Layout Customization - Allows tuning the balance between maximum machine counts and ID generation rates through customizable bit allocation.
  • Bit Length Configuration - Provides mechanisms to customize bit lengths for sequence numbers and machine identifiers.
  • Unique ID Generation - Sony version of Snowflake IDs.

Historique des stars

Graphique de l'historique des stars pour sony/sonyflakeGraphique de l'historique des stars pour sony/sonyflake

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

Alternatives open source à Sonyflake

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Sonyflake.
  • 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
  • baidu/uid-generatorAvatar de baidu

    baidu/uid-generator

    5,572Voir sur GitHub↗

    This project is a distributed unique ID generator designed to produce 64-bit globally unique and sortable identifiers across multiple nodes. It implements a Snowflake-compatible algorithm that prevents collisions by combining timestamps, worker identifiers, and sequence numbers into a single integer. The system includes a worker ID orchestrator to allocate and maintain unique machine identities during instance startup and migration using database-backed strategies. To increase request throughput and reduce latency, it utilizes a ring-buffer caching layer that pre-generates identifiers and emp

    Java
    Voir sur GitHub↗5,572
  • 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
  • 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 à Sonyflake→

Questions fréquentes

Que fait sony/sonyflake ?

Sonyflake est une bibliothèque d'identifiants uniques distribués qui crée des identifiants sans collision et ordonnés chronologiquement sur plusieurs machines. Il fonctionne comme un générateur basé sur le temps qui encode des horodatages dans des identifiants, garantissant que les identifiants sont triés de manière monotone.

Quelles sont les fonctionnalités principales de sony/sonyflake ?

Les fonctionnalités principales de sony/sonyflake sont : Distributed Identifier Generators, Snowflake ID Generators, Chronological ID Sequencing, Distributed ID Generators, Identifier Bit-Packing, Machine Identity Extraction, Machine Identifiers, Millisecond Clock Sequences.

Quelles sont les alternatives open-source à sony/sonyflake ?

Les alternatives open-source à sony/sonyflake incluent : twitter-archive/snowflake — Snowflake is a distributed unique ID generation service designed to produce non-colliding, time-ordered identification… baidu/uid-generator — This project is a distributed unique ID generator designed to produce 64-bit globally unique and sortable identifiers… meituan-dianping/leaf — Leaf is a distributed unique ID generation system that provides two distinct modes for producing identifiers across… segmentio/ksuid — ksuid is a Go implementation of k-sortable unique identifiers. It provides a system for generating globally unique… oklog/ulid — This project is an implementation of the ULID standard in the Go programming language. It provides tools for… yuaotian/go-cursor-help — go-cursor-help is a machine ID resetter and trial limit bypass tool designed for the Cursor AI editor. It functions as…