NoNoncense 2.0 adds dynamic machine ID leasing to prevent duplicate distributed IDs
NoNoncense, an Elixir library for generating fast, sortable nonces, has released version 2.0 with built-in dynamic machine ID lease management. Earlier versions left the responsibility of ensuring unique machine IDs to the application itself, which was workable for fixed server fleets but risky in dynamic environments where pods autoscale or overlap. Version 2.0 integrates a LeaseManager directly into the supervision tree, blocking application startup until a machine ID lease is confirmed, eliminating any window where unverified IDs could generate values. The library supports multiple coordination backends including PostgreSQL, MySQL, Redis/Valkey, Kubernetes StatefulSet pod ordinals, and static host identifiers. On confirmed lease loss, affected nonce factories are immediately disabled to preserve global uniqueness, with automatic recovery and reinitialization once a new lease is acquired.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in