IDs de floco de neve para Delphi
O sistema de geração de identificador exclusivo do Snowflake é um método para gerar identificadores exclusivos para objetos dentro de um sistema ou banco de dados distribuídos.

Uso | Exemplos
Por que você precisa!?
Em sistemas distribuídos, a geração de identificadores exclusivos é crucial para rastrear e gerenciar entidades em várias máquinas. O uso de uma abordagem de identificação de floco de neve garante que os IDs sejam únicos do sistema, e não globalmente, minimizando conflitos em ambientes de alto volume, e é classificável .
Uso dos componentes do floco de neve
- Timestamp: representa o tempo em que o ID foi gerado, facilitando a ordem cronológica.
- MachineId: serve como um ID do remetente, identificando a máquina ou instância específica que gerou o ID, garantindo a singularidade do sistema.
- Sequência: funções como um contador de reconhecimento, incrementando com cada ID gerado, permitindo que vários IDs sejam criados sem colisão.
Esse design se encaixa em um número inteiro de 64 bits (Int64) .
Empresas que usam IDs de Snowflake
Várias empresas adotaram IDs de floco de neve para geração de identificação eficiente:
- Twitter : utilizou IDs de floco de neve para identificadores exclusivos em seus sistemas de tweet e usuário, permitindo escalabilidade e indexação de dados eficientes.
- Instagram : IDs de flocos de neve empregados para fotos e contas de usuário, garantindo a identificação exclusiva de conteúdo e operações de banco de dados eficientes.
- Uber : Implementou IDs de floco de neve para viagens e drivers, apoiando escalabilidade global e rastreamento de dados eficiente em seus sistemas.
- Airbnb : Utilizou IDs de floco de neve para listagens e reservas, alcançando exclusividade global e gerenciamento confiável de inventário.
- Github : IDs de floco de neve alavancados para repositórios e questões, garantindo identificação única e navegação suave para os desenvolvedores.
Uso
- Clone ou simplesmente faça o download da unidade : clone o repositório ou faça o download da unidade
SFID.pas para o seu projeto Delphi. - Comece a usá -lo : atribua nova variável do
TSFID , crie um novo ID TSFID.NewSfid . - Por favor, dê um? e compartilhe com outros
Exemplos
Exemplo: Simples Gerate Snowflake ID
uses
SFID;
var
Sfid: TSFID;
begin
// Create a new Snowflake ID with the current timestamp, default machine ID, and a new sequence
Sfid := TSFID.NewSfid;
// Get Unique ID as int64 base
WriteLn( ' Snowflake ID as Integer: ' , Sfid.AsInt);
// Access components of the Snowflake ID
WriteLn( ' Timestamp: ' , Sfid.Timestamp);
WriteLn( ' Machine ID: ' , Sfid.MachineID);
WriteLn( ' Sequence: ' , Sfid.Sequence);
end ;Autor
Unidade útil, certo?
SIM! Adoraríamos seu apoio! Por favor, dê um? e compartilhe com outras pessoas.
Compartilhe nas mídias sociais :