Алгоритм хеширования в системе сокращения ссылок работает следующим образом: proglib.io
- Каждый узел распределённой системы при запуске запрашивает у Zookeeper новый диапазон чисел. proglib.io
- Запрос на сокращение URL поступает к балансировщику нагрузки, который делегирует работу нодам приложения. proglib.io
- Приложение проверяет, существует ли запись соответствия длинного URL короткому в базе данных или кэше. proglib.io Если существует и если короткий URL всё ещё действителен, то возвращается HTTP 200 OK. proglib.io
- Если длинного URL нет в базе данных, то приложение использует следующий доступный номер из диапазона, выделенного Zookeeper, и генерирует новый токен в библиотеке Hashid. proglib.io
- С помощью токена создаётся короткий URL, а вся сопутствующая информация сохраняется в базу данных. proglib.io
- Короткий URL отправляется обратно клиенту со статусом HTTP 201 CREATED. proglib.io
Так гарантируется, что каждым сокращённым URL-адресом получается уникальный идентификатор, чем предотвращаются конфликты и обеспечивается целостность сервиса. nuancesprog.ru