Николай Миколайчук: Реализация уникального идентификатора в распределенной системе
Реализация уникального идентификатора в распределенной системе
До тех пор, пока Ваше приложение умещается на одном сервере в одном датацентре, Вы всегда можете получить уникальный идентификатор для любого типа события простой вставкой в базу данных и получением последнего добавленного ID. Но вместе с ростом нагрузки, количеством серверов и сервисов возникает необходимость в масштабировании и генератора ID. В качестве решения можно шардировать БД, генерировать случайную строку, UUID (v1, v4), создать отдельный Ticket Service, использовать Twitter Snowflake или его аналог. В докладе я остановлюсь на плюсах и минусах каждого решения, а также расскажу, как в PropellerAds мы генерируем уникальные ID.
Николай Миколайчук
Санкт-Петербург, Россия
Разработчик
PropellerAds
Ведущий разработчик отдела BI в PropellerAds. В команде мы занимаемся разработкой ETL процессов (Vertica, Airflow), сервисов на Go для работы с данными и ротации рекламы, развиваем наш DWH. В свободное время я увлекаюсь спортом, выращиванием детей и сном.