2 - Domain driven design
57:25
2 жыл бұрын
Пікірлер
@МаксМакс-ч8к
@МаксМакс-ч8к 24 күн бұрын
Видео прям топовые!) Спасибо Андрею
@sukhoa
@sukhoa Ай бұрын
Больше постов о нагрузке с иллюстрациями на моем канале - t.me/andrey_threads
@jagobingIT
@jagobingIT Ай бұрын
Имхо, ненадёжно не делать компенсации у последней транзакции, т.к. когда-нибудь появился следующая n+1 транзакция и про n-ую забудут и не реализуют компенсацию
@mamonov01
@mamonov01 Ай бұрын
С возвращением!🎉
@adwawdwad2499
@adwawdwad2499 Ай бұрын
Очень круто рассказано
@sukhoa
@sukhoa Ай бұрын
спасибо!
@MikitaIsakau
@MikitaIsakau Ай бұрын
полезная информация, ждем больше видео и больше постов!
@sukhoa
@sukhoa Ай бұрын
Спасибо, буду стараться!
@alexborodin366
@alexborodin366 Ай бұрын
если при синхронной репликации отдавать пользователю ОК только когда записали во все follower, тогда линеаризуемость вполне будет: следующее чтение, согласно линеаризации, должно происходить после успешной операции предыдущего, то есть уже к моменту завершения репликации
@timur.piftaev
@timur.piftaev 2 ай бұрын
Просто огромнейшее спасибо за подобный материал в открытом доступе. Не поступил в итмо, но могу посмотреть лекции, кайф!)))) Еще вопрос - на каком курсе изучают эти лекции?
@bubbletubbe
@bubbletubbe 2 ай бұрын
как по мне просто отлично, Юрка наверно половину не понял 😁 т.к. таких развёрнутых ответов на собесах не встретишь
@winter-lb7id
@winter-lb7id 3 ай бұрын
Про снапшот конечно смешно, когда человек называет снимок всей таблы хорошим решением... Но он хотя бы говорит свою шизу, а что у остальных в головах - вообще не понятно
@ankofl
@ankofl 3 ай бұрын
Как же тихо...
@АндрейСиманов-л3я
@АндрейСиманов-л3я 4 ай бұрын
41:09 а разве фичу с весами нельзя добавить в Rendezvous hasing? например добавив суррогатный ключ? (обозначу его через 's') hash( K + "s1"+ '1') hash( K + "s1"+ '2') hash( K + "s1"+ '3') hash( K + "s1"+ '4') <- добавляем "сильную ноду 4" hash( K + "s2"+ '4') <- добавляем "сильную ноду 4"
@mertviy_games
@mertviy_games 4 ай бұрын
в конце подвели итог - всё это знать прикольно, но в общем и не нужно xD
@dragvs
@dragvs 4 ай бұрын
Речь шла про dead letter queue в одном месте, видимо. К сожалению, Kafka не поддерживает DLQ в отличие от AWS SQS, например. Но как отметили это хорошо работает при условии идемпотентности и ассоциативности, иначе начинается пляска с синхронизацией очередей.
@fischer960
@fischer960 5 ай бұрын
О, Нифёдыч в it вкатился
@whazapbaz
@whazapbaz 6 ай бұрын
За такое дизлайк по факту видео самореклама а информации по теме нет.
@SmadyarovBerik
@SmadyarovBerik 6 ай бұрын
Топ!
@tsc472
@tsc472 7 ай бұрын
Когда-то разбирался с этим вопросом, понял эту теорему совсем по-другому: 1) partitioning tolerance - это свойство переживать разрыв сети. Разрыв сети - это когда все узлы работают, но между ними возник split brain, который потом полечился. Да, сеть имеет свойство пропадать, поэтому распрелеленные системы не способные пережить разрыв сети нам не интересны. 2) availability - это способность сохранять работоспособность пока работает хотя бы один узел 3) consistency - это когда система возвращает одинаковый ответ на одинаковый запрос, независимо от узла, к которому обращаются. И раз P нужна всегда, то речь может идти о CP системах и AP системах. CP - это когда запись в одну ноду сразу дублируется во все ноды. Она не может быть available, т. к. если часть нод временно не ответит, то система должна прекратить обслуживать запросы (иначе с неответившей ноды могут прилететь неконсистентные данные) AP - это большая часть nosql субд: система будет отвечать "до последнего", но иногда данные могут быть устаревшими т. к. мы не синхронизируемся в момент записи и допускаем чтение когда часть нод лежит. На самом деле CA систему тоже можно представить: это зеркало их 2-х реляционных субд с двумя мастерами и синхронной репликацией. Все будет консистентно, умершая нода потом сможет накатить лог транзакций с живой и восстановиться, но вот split brain (когда ноды потеряли связь и продолжили работать не зная что вторая нода жива и тоже что-то пишет) эта схема не переживет.
@sukhoa
@sukhoa 7 ай бұрын
Split brain это как раз таки не описание состояния partitioning tolerance, а описание partitioning tolerance и точно неконсистентных систем. Если кластер, скажем, поделился на две части и при этом смог выбрать лидера с обеих сторон и решить, что теперь он будет работать, как два независимых кластера. Availability - это не просто способность сохранять работоспособность пока работает хотя бы один узел, а обслуживать любые запросы на любой из нод кластера. Суть в том, что большинство статей описывают вообще не CAP теорему, а просто "в какую стороную больше склоняется система", быть доступной или быть консистентной в присутствии разрыва сети. Я прикладывал в описании конкретные работы, где вводилось понятие CAP теоремы, это академические работы, можете ознакомиться с ними, как с первоисточником.
@ДмитрийПечников-у7ш
@ДмитрийПечников-у7ш 7 ай бұрын
Очень познавательно, спасибо!
@ДмитрийПечников-у7ш
@ДмитрийПечников-у7ш 7 ай бұрын
Очень понятное объяснение, спасибо)
@Denis-sds
@Denis-sds 7 ай бұрын
СОМНИТЕЛЬНО, но окэй
@levaryazan
@levaryazan 7 ай бұрын
Отличное видео! Сейчас разбираюсь с метриками, очень такого не хватало.
@Квадрососисон-ш9у
@Квадрососисон-ш9у 7 ай бұрын
Крутая лекция, спасибо! Из слайда, объясняющего работу WAL, осталось не очень понятно, что произойдёт, если отключится питание в момент, когда мы записали файл-сегмент с отсортированными данными из in-memory structure, но не успели подать команду discard offer flush. Получается WAL у нас останется заполненным после восстановления? Не произойдёт ли дублирования сегмента?
@YuriySamorodov
@YuriySamorodov 8 ай бұрын
Отличный разбор. Спасибо! А разве репликация и наличие нескольких нод не подразумевает наличия сети, и соответственно, не допускает ее разделения (сегментации)?
@sukhoa
@sukhoa 7 ай бұрын
спасибо) Да, конечно, любая система, где между узлами пролегает сеть является распределенной и, конечно, предполагает ситуация разрыва сети.
@HideDJeker
@HideDJeker 8 ай бұрын
100 партиций на топик это конечно сильно и универсально, такое количество вероятно в любом кластере сделает меньший перформанс - каждая партиция файловый дескриптор, каждая партиция это усложнение этапа ребаланса, увеличивать партиции - норма, и да кафка ничего не сделает, обычно просто предупреждают и потом убеждаются что консюмер группы дошли до конца, а кто нет - его проблемы. К универсальному запасу в 100 и возможному экспоненциальному приросту нагрузки заранее невозможно подготовиться, в теории и со 100 партиций может придется апскейлится, если так страшно - то вы можете перелить данные в новый топик с новым количеством партиций.
@sukhoa
@sukhoa 8 ай бұрын
Забыл поместить ссылку на курс :) Вот она - it-es-course.getcourse.ru/main. Мои мини-курсы можно увидеть на степике stepik.org/a/202085 и udemy - www.udemy.com/user/andrei-sukhovitskii/
@timurbaburin8668
@timurbaburin8668 8 ай бұрын
Где комментарий
@ЛеонидКоролев-л5щ
@ЛеонидКоролев-л5щ 8 ай бұрын
34:17 "Разобраться с Кибаной - это, наверное, минут 20 составит". Такой смешной лектор. Такие шутки отпускает - ухохочешься. Пусть идет за 20 минут KQL изучит. Приду - проверю.
@ЛеонидКоролев-л5щ
@ЛеонидКоролев-л5щ 9 ай бұрын
Это студенты первого-второго курсов?
@cbrnt4157
@cbrnt4157 9 ай бұрын
Кто писал кафку, с вики: Kafka was originally developed at LinkedIn, and was subsequently open sourced in early 2011. Jay Kreps, Neha Narkhede and Jun Rao helped co-create Kafka.
@АлексейБондаренко-т8т
@АлексейБондаренко-т8т 10 ай бұрын
Огонь. Пошел смотреть новую версию по метрикам.
@alext6083
@alext6083 Жыл бұрын
Вы забыли упомянуть, что: 1 нужно решать вопрос консистентности, пока финалтная маленькая транзакция не закомичена, система находится в неконсистентном состоянии, и нужно уметь с зтим жить. 2 процесс отката маленьких транзакций иакде может обломаться, это собственно коррелирует с первыми вопросом. И с жтим также нужно уметь жить.
@alexshavlovsky7922
@alexshavlovsky7922 Жыл бұрын
Распространенные бизнес ошибки - ошибка десериализации или валидации. распространеные технические ошибки - ошибки ввода/вывода при коммуникации с низлежащими сервисами, недоступность низлежащих сервисов, сетевые ошибки типа 502/503/504
@МихаилА-у3л
@МихаилА-у3л Жыл бұрын
Размазали видео почти на час, много воды (верю, что это препод из универа). Лучше идти по сценарию интервью и придерживаться ему.
@mamonov01
@mamonov01 Жыл бұрын
Андрей, можете сказать пожалуйста название и модель вашего планшета?)
@sukhoa
@sukhoa Жыл бұрын
Да, конечно. Это Huion GT-133. Не могу его сильно рекомендовать, основная претензия в том, что у него довольно странный адаптер, который после нескольких месяцев использования разболтался, что приводит к отключению питания планшета переодически. В остальном неплох.
@jukovb111
@jukovb111 Жыл бұрын
блиии максимально просто максимально кратко но максимально непонятно :) может на курсе расскажете?
@sukhoa
@sukhoa Жыл бұрын
:) расскажу, конечно!
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@1apaladin
@1apaladin Жыл бұрын
29:36 В графане есть версионирование бордов! Вкладка Versions в настройках самой борды
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию
@applemodus
@applemodus Жыл бұрын
Спасибо за лекцию