Sergei
Рантайм прио же у сислога
охуеть и он теперь что, начал работать быстро?
Mark ☢️
охуеть и он теперь что, начал работать быстро?
Блять ну сделай мультитхреадным
Mark ☢️
Явно в цпу не упрется жи. А в писалку. Тоесть в сеть или диск
Mark ☢️
ты удивишься
Подробнее
Sergei
неважно куда он упрется, на самом деле. вопрос в том что он может не уметь читать настолько быстро, насколько тебе надо в эти пять секунд писать.
Sergei
он просто не станет читать сокет, потому что в этот момент он, сука, рестартнулся и порвал коннект.
Sergei
в нем - да. но это его буфер.
Sergei
Это аварийная ситуация
поднимем ручки и заплачем.
Mark ☢️
А вдруг кернел паник ?
Mark ☢️
А вдруг бед сектор ? Оом ?
Sergei
одно из хороших правил при программировании - с той стороны сокета вам вообще никто ничего не должен :)
Mark ☢️
Метеорит ?
Mark ☢️
Но кагбе при писании на диск тебе тоже не очень то и много должны
Sergei
Но кагбе при писании на диск тебе тоже не очень то и много должны
диск во всяком случае не рестартуется в процессе. и когда диск становится недоступен на запись - это ситуация уровня кернел-паник. а закрытый TCP-сокет или моргнувшая сеть - абсолютно штатная.
Mark ☢️
А диск имеет свойство внезапно притормаживать
Sergei
А диск имеет свойство внезапно притормаживать
реже фсинкай и не дрочи свой сеф.
Mark ☢️
И врайты зависнут. И их даже евентлупом не обработать. Ток в тхреаде
Mark ☢️
В итоге пиздец сложнейший код пологированию
Sergei
И врайты зависнут. И их даже евентлупом не обработать. Ток в тхреаде
а то. впрочем, писать логи в отдельном треде - это вообще гудпрактис
Mark ☢️
В каждом приложении
Sergei
правда мы щас дойдем до буферизации сообщений между тредами и на запись
Sergei
:)
Sergei
как хорошо что я девопс и не занимаюсь ничем этим, а просто жму кнопочку "build & deploy & make zbs" :)
Михаил
Бля, чо ж так дорого то все выходит.
На таких объемах можно других китайцев прогнуть. aic например
kevit
Дело в том что логи не нужны
kevit
Они нужны только когда что-то сломалось, что решается трейсингом.
Anonymous
q
Vitaliy
да, да. кафка тоже теряет сообщения.
зависит от настроек. вообще не должна, если правильно кластер приготовить
Vitaliy
Надо гарантию — кластер рэбита и так далее
вот реббит точно гарантирует только потерю данных на не-мастере при split brain
Vitaliy
и вообще никакой консистентности не обещает
Dmitrii
А кто тебе будет гарантировать такое в таких условиях?
Anonymous
русько-склавенский врач гарантирует
Viktor
да, да. кафка тоже теряет сообщения.
С дефолтными настройками - точно теряет )
Dmitrii
И где в zookeeper очереди или стримы?
Dmitrii
Я просто не очень понял почему ты сейчас zookeeper привел в пример )
Vitaliy
Я просто не очень понял почему ты сейчас zookeeper привел в пример )
заведи в zookeeper очередь — будет очередь. я делал, работала надёжно и быстро.
Dmitrii
А топики? А фанауты? А раутинг из коробки?
Dmitrii
Какой смысл сравнивать несравнимое, я об этом.
Vitaliy
вы дрочите на то, что легко делается в приложении
Dmitrii
Уже бегу тратить время на то, что можно взять и использовать
Dmitrii
Куча middleware демонов которые перегребают из одной очереди/топика в другой — вот еще мне этого не хватало. Особенно в наших масштабах
Vitaliy
да бог с вами, используйте что хотите. просто не говорите, что остальные решения так же бодро теряют данные, как и ваше
Pavel
Я вот думаю что если взять 5 самых умных девопсов, и закрыть их вместе в офисе на пару месяцев...
Pavel
... то придя туда через 2 месяца, нет, вы не найдете идеально работающую инфраструктуру. Вы найдете 5 мертвых девопсов, перегрызших друг другу глотки. А на серверах установленные rabbitmq zookeeper elasticsearch docker lxc kubernetes collectd statsd kibana terraform ansible prometheus concourseci postgres kafka mongodb cassandra jenkins bamboo. И все это не работает.
Pavel
А стены исписаны разными требованиями друг к другу, к бизнесу и от бизнеса.
Dmitrii
Ты имеешь ввиду, что она будет выглядеть как типичный берлинский клуб? http://varlamov.me/img/ger_berlin/28.jpg 😂
G72K
Какая разница чья задача есть throughput в итоге такой что все пиздой накрывается?
мы тут от одних перцев вообще логи запросов включить заставить не можем :) говорят тормозят, так и сидим в тишине :)))
G72K
так он не падает. она просто проебывает маленькую порцию сообщений. молча.
занятно. там в протоколе есть ack от сервера, если его запросить, с ним тоже терялось??
kevit
Да ладно, сколько процентов логов читается?)
G72K
ротация необязательна даже, во многих кейсах можно тупо транкейтить файлы (если объемы единичных write'ов невелики)
как truncate без потерь сделать? там же гонка между последним чтением, записью от приложения и truncate
G72K
хм. воистину, раздуплил, транкейт неатомарен. был неправ.
есть FALLOC_FL_COLLAPSE_RANGE, но я не думаю, что где-нибудь это используется :) к тому же оно на практике реализовано через обязательный fsync внутрях
🏳️ Phil
Кто есть дока по убунте 16.04 - там в инсталяшке можно thin lvm thinpool and mirror сразу сделать, или надо в консоль и... и RAID1 не понимает GRUB...
🏳️ Phil
А с рейдом чего делать? Я хочу, а... а вот этот простой mirror я даже по доке е понял зачем существует
🏳️ Phil
а thin lvm?
🏳️ Phil
ради него родимого весь сыр-бор
ℭ𝔞𝔯𝔯𝔬𝔩
🏳️ Phil
softraid (md) сделать?
ну можно конечно поверх md thion lvm, но тогда теряю расширяемость...
🏳️ Phil
или не теряю...
Dmitrii
А в iptables есть "длинный" аналог "172.30.11.0/24" для -d? Типа чтобы записать -d 172.30.11.0 -mask 255.255.255.128
Dmitrii
Никогда так не записывал, просто уже есть переменная в длинном классическом формате и заводить такую же для короткого как то не охота
Dmitrii
range не варик, про него я в курсе.
Sergei
емнип 172.30.11.0/255.255.255.128 работает
Pavel
так пиши через слеш
Dmitrii
Хм.
Dmitrii
Спасибо )
Александр
Заказчик охуел @ слился
А что с сетью там у вас было в проекте?