#терминология
Объясните пожалуйста русским языком, что такое uuid, читал и википедию и другие источники,
все равно не особо понимаю.
Например при переходе по url posts/1 мы получим саму статью.
А с использованием uuid идентификатор поста будет что-то вроде этого posts/ac5fb2c6-e43a-48e3-a116-47fc719a69c5
Зачем это нужно и почему лучше использовать с uuid, а не без него (по умолчанию posts/1)?
Ответы
Ответ 1
Зачем это нужно и почему лучше использовать с uuid, а не без него (по умолчанию posts/1)? Чтобы нельзя было получать сущности (в данном смысле посты) по их номеру. Т.е. перебором от 1 до n. Это защита от получения произвольных данных всякими парсерами. Например, захотел я собрать все посты с другого сайта, пишу: Псевдокод: for i in 1..1000: html = get("https://example.ru/posts/" + i) И через пару секунд получаю содержимое 1000 постов с того сайта. Если бы там каждый пост имел uuid, то пришлось бы другим способом получать их: Через разделы: главное меню, категории, и т.п. Через поиск на сайте (можно даже через поисковики) <Другие способы>Ответ 2
Основное назначение UUID — это позволить распределённым системам уникально идентифицировать информацию без центра координации. Таким образом, любой может создать UUID и использовать его для идентификации чего-либо с приемлемым уровнем уверенности, что данный идентификатор непреднамеренно никогда не будет использован для чего-то ещё. Поэтому информация, помеченная с помощью UUID, может быть помещена позже в общую базу данных, без необходимости разрешения конфликта имен. Например у вас работают две копии сайта. В каждом из них идет автоинкрементное добавление id++. И вот вдруг к вам поступила задача слить эти две базы в одну. Вы столкнетесь с тем, что и в одной и в другой базе есть одинаковые id. А вот с uuid таких проблем не возникнет Или у вас большая высоконагруженная система. Для распределения нагрузки вы создаете кластер из нескольких серверов. На каждом из серверов идет интенсивное добавление информации, а синхронизация между ними идет не сразу, а с опозданием. С uuid не возникнет проблем с дублированием ключей при синхронизации
Комментариев нет:
Отправить комментарий