Sobes.tech
Junior — Senior
48

Создание сервиса коротких URL‑адресов

Условие задачи

В системе используется кэш с политикой LRU, сервисы TinyUrl (POST/GET) и горизонтально масштабируемая SQL‑база с репликацией. Смоделируйте внешний сервис, отвечающий за генерацию коротких ссылок:

  • Как отделить процесс получения short_link от логики сохранения и извлечения данных;
  • Как гарантировать уникальность генерируемых ссылок, особенно когда генерация происходит в нескольких экземплярах сервиса;
  • Как избежать гонок при записи (race conditions);
  • Как синхронизировать идентификаторы или пространство имён, если генерация распределена;
  • Как построить взаимодействие между TinyUrl POST и генератором ссылок (gRPC, REST и т.п.).