Я не знаю какой конкретный алгоритм у телеграма, но в простой централизованный инкремент я не верю. Слишком очевидный ботлнэк.
Я читал что подобные идентификаторы собираются из ДЦ + timestamp + счётчик в рамках текущей секунды + ещё что-то.
- И гарантия уникальности в таком случае ~60 лет.
Твиттер придумал такой алгоритм и назвал его
snowflake id. Там используется timestamp + machine id + счетчик в рамках одной миллисекунды. Уверен, телеграм использует генератор с подобным алгоритмом. Он быстрый, не требует централизованного управления (кроме назначения machine id, но это делается один раз в момент введения машины в эксплуатацию и может делаться даже вручную) и генерирует идентификаторы размером 64 бита (влезает в mysql тип bigint).
Есть парочка пакетов с реализацией этого алгоритма -
snowflake-id,
snowflakify.