Привет! Это вторая часть серии статей, посвященной проектированию реальной системы сокращения ссылок.

В [прошлой статье] мы спроектировали общую микросервисную архитектуру нашего будущего высоконагруженного сервиса. Мы разделили монолит на независимые компоненты, определили зоны ответственности и настроили их взаимодействие.

Сегодня мы переходим от теории к практике и займемся сердцем любого сокращателя ссылок — микросервисом генерации уникальных идентификаторов (ID).

Почему это отдельная проблема?

На первый взгляд задача кажется тривиальной: взять случайную строку или автоинкремент из базы данных. Но когда система сталкивается с масштабами миллионов запросов в секунду (RPS), стандартные подходы ломаются:

Читать далее