Вот для этого и нужны тесты, да. То что даже вы и не подозревали что у вас в разном виде числа идут, всё равно бы вскрылось на интеграционом тестировании.
протобаф? не, не слышал, какой то костыль упал, ну все тинькоф упал - p.s. разработчик на си даже средний это монстр, как он не мог увидеть сразу что там вместо маленького числа пакетов сразу число несколько тысяч/миллионов при первой же проверке, вся история сомнительная, попахивает обманом
Крут. Спасибо за что-то стоящее с внутренней кухней вместо тошнотворных видосов о том кто такой разработчик и какие тренды в ит. Надеюсь аналогичных подробностей из профессии на канале будет все больше.
Не совсем понятен контекст, зачем дропать БД, если переполнение памяти началось как я понял. Я так думаю, должна быть полная версия видео, но по шортсу проблема не понятна до конца.
Ну и как это меняет суть вопроса? Ну, оомился у него процесс, могли просто начать считывать в биг эндиане и заделоить фикс. Но видимо, так просто не фиксалось. И можно куча вопросов начать задавать, потому что проблема не ясна до конца.
Тоже не особо понял, ну даже если положил, скорее всего это dev база, без бэкапов в целом можно, но зачем это все через базу передавать микросервисами, а как же кафка? А как же рэббит? И т.д
@@jigglydezar7331 да сказочно все это, никто на проде такое не делает тем более операции с базой, даже если есть бекап, восстановление это уже простой. Сказки какие-то
потому что memory база данных говорит о том что 2 сервиса работали на 1 компе. На кой хрен создавать TCP соединение в рамках одного компа? Или ты не в курсе что TCP соединение очень прожорливое и максимально непроизводительное. В игре было бы 1фпс если бы игры использовали HTTP в качестве протокола обмена данных в онлайн игре
In memory БД не говорит о том, что сервисы на одной машине. Это лишь значит, что СУБД хранит данные в памяти. Тот же Redis позволяет делать соединения по tcp/ip. И он может находиться совсем на отдельном узле от этих сервисов. И так и делается действительно в случае, когда Redis нужно уже масштабировать вертикально. То, что ты пытался описать выше. Скорее всего, это использование unix сокетов, либо других механизмов межпроцессного взаимодействия. Либо прямой доступ к памяти) Но я такого не видел и это небезопасно и современные ОС такого не позволят.
@@DeCraftable Какая ОС не позволит использовать сокеты? А как же mysql, который с php через сокеты работает на одной машине? Возможно у тебя на серваке говно-винда. А говно винда как известно ни чего не позволяет. Даже fork процесса такую банальную штуку не позволяет делать. На надо сравнивать говно виндовс-сервер для инвалидов с касперским на борту, который в 100 раз тормозит систему, и ентерпрайс сервера на unix
@@serhiis_ WinApi конечно жутка неудобной но, и функции форк там нету, но её аналог есть и прекрасно работает. Как и аналог UDS. Работал и там как с сокетами, так и с процессами и потоками. В Unix конечно куда удобней организована это. Вообще нормальная серверная ОС и не должна ни чего позволять, кроме того, что прописана в правах. И винда и unix так работают.
Причем тут виндовс? Я не говорил про то, что ОС не позволяет использовать сокеты. Читай внимательнее мой ответ, я там говорил только про прямой доступ к памяти. А по поводу того, что mysql поднимается на одной машинке с бэком на php. Это работает но до момента, пока не перестанет хватать ресурсов машинки для СУБД. Как правило, ее выносят на отдельный узел и вертикально масштабируют в таких случаях. TCP подключения очень часто используются для СУБД, в больших системах точно.
Возможно, была проблема с миграцией на новую версию СУБД. Такое бывает при переходе на новую мажорную версию, ломается обратная совместимость и нужно менять схему и т.п. Надо учитывать, что это продакшн система с кучей данных. Такая банальная операция может повлечь большой даунтайм, а системой пользуется куча пользователей. Поэтому такой даунтайм нельзя себе позволить, нужно извращаться с обновлением.
Это таким специалистам платят 300к в наносекунду? Или скорее история вымышленная. Таких имбецилов не бывает, он сам эту историю придумал. Даже я (не программист) знаю про такие особенности архитектур.
он же сказал что база генерилась скриптом. Нету ни каких проблем сгенерить базу еще раз. Тестирование проводится по факту разработки, а он еще не закончил разработку и тестировает сам свой продукт. Называет smoke test. Его проводят разработчики а не тестировщики
Я кстати на питоне когда хэллоу ворл писал допустил ошибку в бесконечном цикле и положил терминал
😅
While true)
Положить терминал нельзя через бесконечный цикл
Это просто ахуенно😂😂😂
Стек оверфлоу это называется, дружище
Вы тестируете сразу на проде? 🤣
тестирование - нет, не слышали. привет, тинькоф.
Зато сейчас нереальные тесты для начинающих, чтоб на стажировку попасть сделали))))😂
Это было не просто смело, а пи#дец как смело.
Хз как было тогда, но сейчас тестами норм всё покрывается, процессы налажены
Зато смог пройти контест
Вот для этого и нужны тесты, да.
То что даже вы и не подозревали что у вас в разном виде числа идут, всё равно бы вскрылось на интеграционом тестировании.
протобаф? не, не слышал, какой то костыль упал, ну все тинькоф упал - p.s. разработчик на си даже средний это монстр, как он не мог увидеть сразу что там вместо маленького числа пакетов сразу число несколько тысяч/миллионов при первой же проверке, вся история сомнительная, попахивает обманом
Да какой разработчик на С, где ты его видишь?
@@user-ql4xu5qu2uразница небольшая
кликбейтный заголовок - check
дубаи_пальмы на заднем плане - check
харизма 80 lvl - check
Кажется, что очередная вариация "инфо успешного успеха" войтивайти
Крут. Спасибо за что-то стоящее с внутренней кухней вместо тошнотворных видосов о том кто такой разработчик и какие тренды в ит. Надеюсь аналогичных подробностей из профессии на канале будет все больше.
Тот неловкий момент когда намазал лапы суперклеем и по привычке схватил телефон
Как ты мог перетереть базу читая из нее?
Костылестроители. Интеграция микросервисов через базу?
да
Ваша ошибка в том, что вы не проходили hello world 😂
Какие данные Вы сжимали? Это были документы?
Ничего не понятно, но ОООЧЕНЬ интересно
ммммм, когда уверенность в себе становится самоуверенностью.
Не совсем понятен контекст, зачем дропать БД, если переполнение памяти началось как я понял. Я так думаю, должна быть полная версия видео, но по шортсу проблема не понятна до конца.
Oom kill загугли
Ну и как это меняет суть вопроса? Ну, оомился у него процесс, могли просто начать считывать в биг эндиане и заделоить фикс. Но видимо, так просто не фиксалось. И можно куча вопросов начать задавать, потому что проблема не ясна до конца.
Ооо, у меня тоже была запара с big=endian и little-endian)
кто вообще в современном мире использует big endian?
Сетевой формат - big endian. Прежде чем по сети байты слать с наивной туфты, переводи в сетевой формат
Либо обманщик на авторе, либо Тинёк прощай, я буду пользоваться Россельхоз банком
Что за бред, как ты перетёр базу. Положил какой-то сервис ок, при чем тут база. И про бэкапы ты видимо не слышал
Тоже не особо понял, ну даже если положил, скорее всего это dev база, без бэкапов в целом можно, но зачем это все через базу передавать микросервисами, а как же кафка? А как же рэббит? И т.д
@@jigglydezar7331 да сказочно все это, никто на проде такое не делает тем более операции с базой, даже если есть бекап, восстановление это уже простой. Сказки какие-то
In memory база идиот
@@jigglydezar7331 а где там сказано, что сервисы асинхронные были, чтоб брокеры пихать?
Че такие токсичные комменты гспд, ну уронил и уронил, с кем не бывает))
Почему на проде?
Ну такое конечно, тестирования нет, отката на предыдущую версию нет, какого-то переключения бызы нет.
Т.е. вся эта хня еще и без докумеентации.
"Запоминательный", да? Ппц...
А зачем не использовали отправить через HTTP, ведь через него можно буфер отправить целиком и таким образом не писать свой оверхед
потому что memory база данных говорит о том что 2 сервиса работали на 1 компе. На кой хрен создавать TCP соединение в рамках одного компа? Или ты не в курсе что TCP соединение очень прожорливое и максимально непроизводительное. В игре было бы 1фпс если бы игры использовали HTTP в качестве протокола обмена данных в онлайн игре
In memory БД не говорит о том, что сервисы на одной машине. Это лишь значит, что СУБД хранит данные в памяти. Тот же Redis позволяет делать соединения по tcp/ip. И он может находиться совсем на отдельном узле от этих сервисов. И так и делается действительно в случае, когда Redis нужно уже масштабировать вертикально.
То, что ты пытался описать выше. Скорее всего, это использование unix сокетов, либо других механизмов межпроцессного взаимодействия. Либо прямой доступ к памяти) Но я такого не видел и это небезопасно и современные ОС такого не позволят.
@@DeCraftable Какая ОС не позволит использовать сокеты? А как же mysql, который с php через сокеты работает на одной машине? Возможно у тебя на серваке говно-винда. А говно винда как известно ни чего не позволяет. Даже fork процесса такую банальную штуку не позволяет делать. На надо сравнивать говно виндовс-сервер для инвалидов с касперским на борту, который в 100 раз тормозит систему, и ентерпрайс сервера на unix
@@serhiis_ WinApi конечно жутка неудобной но, и функции форк там нету, но её аналог есть и прекрасно работает. Как и аналог UDS. Работал и там как с сокетами, так и с процессами и потоками. В Unix конечно куда удобней организована это. Вообще нормальная серверная ОС и не должна ни чего позволять, кроме того, что прописана в правах. И винда и unix так работают.
Причем тут виндовс? Я не говорил про то, что ОС не позволяет использовать сокеты. Читай внимательнее мой ответ, я там говорил только про прямой доступ к памяти.
А по поводу того, что mysql поднимается на одной машинке с бэком на php. Это работает но до момента, пока не перестанет хватать ресурсов машинки для СУБД. Как правило, ее выносят на отдельный узел и вертикально масштабируют в таких случаях. TCP подключения очень часто используются для СУБД, в больших системах точно.
фу, такие ошибки допускать
История сомнительная. Думаю пи***т
надеюсь это шутка
А обновить aerospike нельзя было совсем?
Возможно, была проблема с миграцией на новую версию СУБД. Такое бывает при переходе на новую мажорную версию, ломается обратная совместимость и нужно менять схему и т.п.
Надо учитывать, что это продакшн система с кучей данных. Такая банальная операция может повлечь большой даунтайм, а системой пользуется куча пользователей. Поэтому такой даунтайм нельзя себе позволить, нужно извращаться с обновлением.
@@DeCraftable спасибо)
че тут сказать -
бомжи )
А что разве для C++ нет отладчика, чтобы перед заливкой в прод проверить локально, как оно будет работать?
Здесь не отладчик нужен, с сами приложением ведь все нормально, а интеграционные тесты
@@victorklimov5254 ну если интеграционных тестов нет, то проверить локально вручную перед заливкой в прод - тоже неплохой вариант))
@@victorklimov5254а джавовый сервис как будешь встраивать в тесты? Замокаешь?
Это таким специалистам платят 300к в наносекунду? Или скорее история вымышленная. Таких имбецилов не бывает, он сам эту историю придумал. Даже я (не программист) знаю про такие особенности архитектур.
Ya videl takih seniorov, cto mne i vam doljno biti stidno nazivari sebya takim
А что, тестирование не проводилось?
он же сказал что база генерилась скриптом. Нету ни каких проблем сгенерить базу еще раз. Тестирование проводится по факту разработки, а он еще не закончил разработку и тестировает сам свой продукт. Называет smoke test. Его проводят разработчики а не тестировщики
@@serhiis_ разработчики проводят smoke test недоразработанной версии на продовой базе в обход тестировщиков? Так и запишем.