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

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

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

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

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