Весь функционал реализован только мной. Сокращатель ссылок - это API позволяющий отправить длинную ссылку и получить короткую, переход по которой в свою очередь перейти по длинной ссылке.
Данная реализация основна на алгоритме BASE62. Внутри используется асинхронизм для оптимизации работы при высоких нагрузках.
Кэш используется для хранения заранее сгенерированных хэшей для ссылок. Есть коофицент заполнения по истечению которого начинает генерацию хэшей в отдельном потоке
Контроллер как точка входа в приложение. Используется для выдачи ссылок и редиректа по основной ссылке
Base62Encoder принимает на вход коллекцию чисел и возвращает коллекцию сгенерированных хэшей
Клинер очищает устаревшие хэши и возвращает их в базу. Используется конфигурирование параметров
Генератор хэшей получает из бд уникальную последовательность, из которой создаёт хэши и сохраняет в другой таблице.
Сервис соединяет всю вышеописаную логику вместе.