Skip to content

Dlakares/UrlShortener

 
 

Repository files navigation

Url shortener service

Весь функционал реализован только мной. Сокращатель ссылок - это API позволяющий отправить длинную ссылку и получить короткую, переход по которой в свою очередь перейти по длинной ссылке.

Данная реализация основна на алгоритме BASE62. Внутри используется асинхронизм для оптимизации работы при высоких нагрузках.

Кэш используется для хранения заранее сгенерированных хэшей для ссылок. Есть коофицент заполнения по истечению которого начинает генерацию хэшей в отдельном потоке

Контроллер как точка входа в приложение. Используется для выдачи ссылок и редиректа по основной ссылке

Base62Encoder принимает на вход коллекцию чисел и возвращает коллекцию сгенерированных хэшей

Клинер очищает устаревшие хэши и возвращает их в базу. Используется конфигурирование параметров

Генератор хэшей получает из бд уникальную последовательность, из которой создаёт хэши и сохраняет в другой таблице.

Сервис соединяет всю вышеописаную логику вместе.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.4%
  • Dockerfile 0.6%