[S02E07] Проектирование генератора уникальных ИД в распределённых системах | BookClub DOTNET

  Рет қаралды 663

DotNetRu

DotNetRu

2 ай бұрын

BookClub DotNet Season 2 #7
Каждый из нас по своему уникален... Ровно до той поры, пока не начинает спорить в комментах! В этот момент все мы становимся экспертами по экспертизе всего экспертного. Чтобы оставаться уникальным даже среди таких серьёзных людей, следуй за нами!
Ведущие:
- Роман Гашков
- Григорий Кузьмин
- Роман Щербаков
Дизайн и иллюстрации:
- Серафима Лебедева
Выпуск на KZfaq: • [S02E07] Проектировани...
Выпуск на других платформах: bookclub-dotnet.mave.digital/...
Канал книжного клуба: t.me/bookclubdotnet
Сайт книжного клуба: bookclub.dotnet.ru
Книга
System Design. Подготовка к сложному интервью (www.piter.com/product/system-...)
Доклад Романа Букина по UUID: • Роман Букин «Uuid - бо...
Статья Вадима Мартынова: habr.com/ru/articles/665024/
The following music was used for this media project:
Music: Ambient Corporate by WinnieTheMoog
Free download: filmmusic.io/song/6188-ambien...
License (CC BY 4.0): filmmusic.io/standard-license
Ключевые слова: архитектура, системный дизайн, алгоритмы, паттерны, программирование, собеседование, книга, книжный клуб, architecture, system design, algorithms, patterns, programming, interview, book, bookclub

Пікірлер: 17
@WildComparator
@WildComparator 2 ай бұрын
Необязательно же делать уникальные айдишки в пределах всей системы. Можно же сделать отдельно для твитов, отдельно для юзеров и т.п.
@AEF23C20
@AEF23C20 2 ай бұрын
а зачем? нужно опять и снова указать "только лишь бит" твита/юзера итд это группа битов [из всего лонга], отвечающая за принадлежность ид к тому что вы хотите понятное дело что так и нужно делать, потому что опять и снова по маске можно сразу найти то что вам нужно, т.е. резко сократить время поиска вы по маске проверяете юзер это или твит или что-то ещё да хоть что пихайте в лонг, и ничего вам за это не будет ахаха!
@daredever
@daredever 2 ай бұрын
это хороший поинт, мне кажется действительно часто нет смысла делать абсолютно уникальный ид внутри системы. так что стоит заранее выяснять а нужно ли это нам)
@AEF23C20
@AEF23C20 2 ай бұрын
не верный поинт, причём в любом случае система идентификаторов предполагает какое либо размещение в памяти этих самых идентификаторов, и когда вы дёргаете идэшычьку - вы мгновенно теряете локальность, т.е. вероятность того что вы попадёте в кеш-мис = 100% [причём без погрешностей] а вы значит идешычки расплодить хотите ага? ну что бы так сказать по полной кеш-мисов наловить ахаха! нет ну а чего, если падать на дно - так падать по полной! шутки шутками, но идэшычьку лучше дёрнуть один раз, а затем локально на стеке её распотрошить, ибо совершенно бессмысленно бегать по куче выгребая идэшечки откуда то с разных мест кучи
@AEF23C20
@AEF23C20 2 ай бұрын
до тех пор, пока куча для вас [или не для вас] существует как абстракция, и вы не можете сказать где что лежит и в какой последовательности в куче - любое программирование кучи - __бессмысленно__ потому что вы [или не вы] на самом деле никаким программированием не занимаетесь, потому что на самом деле - вы __программируете__ __рантайм__ однако же вы __не__ программируете рантайм, вы даже к этому ещё не подошли, и это понимание наступит, примерно лет через пять, при хорошем стечении обстоятельств
@daredever
@daredever 2 ай бұрын
@@AEF23C20 уважаемый слушатель, я думаю наступило время первого предупреждения. не надо хамить участникам сообщества
@AEF23C20
@AEF23C20 2 ай бұрын
опять не понял, написано было несколько серий назад этого сериала возьмите "втупую" этот ваш лонг, и к нему примотайте как либо номер сервера, и по маске вы всегда: можете прилепить номер сервера к лонгу выгребсти номер сервера от лонга при этом, диапазон ид конечно же сократится на некоторое число бит для четырёх серверов нужны два бита, ид в данном случае это 62 бита
@AEF23C20
@AEF23C20 2 ай бұрын
09:43 деление некоего лонга на группы битов - это оно и есть в лонг при желании можно всех слонов упихать
@AEF23C20
@AEF23C20 2 ай бұрын
а на самом деле - айдишник - это временная метка и есть [плюс ид сервера] абсолютная временная метка запросто влезает в лонг, с точностью до наносекунд а большая точность - не нужна, потому что невозможно загрузить на сервер более чем 1к мисаг за 1мс время с точностью до наносекунд - это и есть идентификатор, и более для этого ничего не нужно
@AEF23C20
@AEF23C20 2 ай бұрын
и ага, таких временных меток хватит не то что на всю жизнь, а на ближайшие хз тысячи лет итд
@AEF23C20
@AEF23C20 2 ай бұрын
ююид значит гуид ага?)))) япадстол укатился ахаха! извините
@daredever
@daredever 2 ай бұрын
есть возражения по этому поводу?
@AEF23C20
@AEF23C20 2 ай бұрын
да какие тут могут быть возражения? задачка "требует" задания уникальных сквозных идентификаторов, и причём тут тогда вообще гуид/ююид? от вас хотят груши/яблоки, а вы вместо этого решили попользовать гвозди и гайки это примерно так и выглядит
Роман Булдыгин «Дроны и .NET»
1:27:03
DotNetRu
Рет қаралды 2,2 М.
ИРИНА КАЙРАТОВНА - АЙДАХАР (БЕКА) [MV]
02:51
ГОСТ ENTERTAINMENT
Рет қаралды 4 МЛН
Жайдарман | Туған күн 2024 | Алматы
2:22:55
Jaidarman OFFICIAL / JCI
Рет қаралды 771 М.
Дибала против вратаря Легенды
00:33
Mr. Oleynik
Рет қаралды 2,9 МЛН
⬅️🤔➡️
00:31
Celine Dept
Рет қаралды 46 МЛН
Интервью по System Design. Александр Поломодов (Тинькофф)
1:26:41
ЭТИ КНИГИ СДЕЛАЮТ ИЗ ТЕБЯ ХАКЕРА
16:38
ИРИНА КАЙРАТОВНА - АЙДАХАР (БЕКА) [MV]
02:51
ГОСТ ENTERTAINMENT
Рет қаралды 4 МЛН