Поиск решения для генерации коротких уникальных идентификаторов

В Telegram используется короткий и удобный числовой идентификатор пользователя. Возникает вопрос: существует ли готовый программный пакет или библиотека, способная генерировать аналогичные уникальные ID с соблюдением строгих технических условий?

Ключевые технические требования к системе генерации

  • Производительность: Система должна устойчиво генерировать не менее 100 идентификаторов в секунду.
  • Масштабируемость: Количество серверов (машин), на которых будет развернута генерация, изначально неизвестно и может меняться.
  • Формат идентификатора: ID должен быть числовым, длиной примерно 10 десятичных цифр (что эквивалентно 34 битам информации).
  • Глобальная уникальность: Каждый сгенерированный ID должен быть уникальным в рамках всей распределенной системы, независимо от того, на какой конкретной машине он был создан.
  • Автономность: Генератор не имеет доступа к базе существующих ID (например, к таблице пользователей) и не может проверять уникальность по уже выданным значениям.

Таким образом, требуется решение, которое сочетает в себе высокую скорость, распределенность, компактный формат и гарантирует уникальность без централизованной координации или проверки.