Junior — Senior
48
Создание сервиса коротких URL‑адресов
Условие задачи
В системе используется кэш с политикой LRU, сервисы TinyUrl (POST/GET) и горизонтально масштабируемая SQL‑база с репликацией. Смоделируйте внешний сервис, отвечающий за генерацию коротких ссылок:
- Как отделить процесс получения short_link от логики сохранения и извлечения данных;
- Как гарантировать уникальность генерируемых ссылок, особенно когда генерация происходит в нескольких экземплярах сервиса;
- Как избежать гонок при записи (race conditions);
- Как синхронизировать идентификаторы или пространство имён, если генерация распределена;
- Как построить взаимодействие между TinyUrl POST и генератором ссылок (gRPC, REST и т.п.).