LINUX.ORG.RU

микросервисная архитектура - ура!

 ,


1

3

Читаю статью в Википедии про микросервисную архитектуру. Рад за пацанов: во-первых, теперь на ту же задачу можно потратить x1000 вычислительных мощностей. Даёшь докер-контейнеры на AWS инстансах! Во-вторых, поскольку главного в системе нет, то понять, что происходит и почему ничего не работает, становится крайне нетривиальной задачей. Т.е. огромная наукоёмкость, усложнение самих микросервисов (они ведь должны подробно отчитываться о своём состоянии, иначе невозможно сделать мониторинг и понять, работает ли система или нет). Я уж не говорю о том, что всё это разворачивается в ЦОДах, соответственно, понятно, кому выгодно: Амазону и прочим поставщикам облачных услуг. А наживку бизнесу подкинули в виде «независимости команд, занимающихся разными частями», типа разделяй и властвуй. Прямо настроение улучшилось, какой грубый развод и как хорошо прокатывает. Особенно порадовало «исключение по возможности унаследованного кода».

Но мне нужно найти работу. И я обнаружил, что в моём приложении аж целых две базы данных образовались совершенно естественным путём. Одна - это база безопасности пользователей (хранит, например, пароли). Вторая - это база контента - я хочу иметь на сайте кнопочку «скачать базу». Именно её и буду раздавать.

Соответственно, неужели я имею шанс применить микросервисы, так, чтобы показывать работодателям? Подскажите, правильно ли я понял всю эту тему, и куда копать за примерами? Использую postgresql и голанг.

★★★★★

Последнее исправление: den73 (всего исправлений: 1)
Ответ на: Да ни кто и не думал... от Moisha_Liberman

В логи поступают только реальные ошибки или отказы

Я прямо ночами во сне теперь это вижу. Так и представляю, крутятся какие-нибудь урановые центрифуги или там реактор какой-нибудь жарит уран, а в логах чистота. Раз уж ты слёту назвал столько уставов и правил, написанных кровью, то почитай там правила ведения судовых журналов, журналов эксплуатации. Обобщи. Подумай, почему в эти журналы заносят не только проблемы, а достаточно подробную историю процесса. Поправь свою систему, пока она не эбонула. Ты, похоже, меня всерьёз не воспринимаешь, а я, может быть, пытаюсь спасти тебя от тюрьмы, а мир - от катастрофы.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Боюсь, батенька, Ваши советы ни о чём...

Я «родом» из системы, где ОВУ это образ жизни. Да, из «армейки» в общем и целом. Ну да, «пехота мы, пехота»... И где привыкли не имитировать кипучую деятельность, а получать конкретные результаты.

Так вот. Результат деятельности это функционирование системы. Если система функционирует без сбоев, исправно перемалывая файло, выдавая в требуемой форме результат, то это значит одно — система исправна. Как там в к\ф «Солдат» было? «Мой папаша был ремонтником и он говорил что нехер чинить то, что и так работает». Кажется так?

Любой отказ в процессе деятельности системы это протоколируемое состояние отказа. Он может быть восстановимым, например, мы попробовали запросить память через malloc(), а вместо памяти (указателя на распределённую область, которую просили) получили возвращённое значение NULL, то спустя некоторый промежуток времени мы можем заново запросить тот же объём и продолжить выполнение, либо опять подождать. В случае, если по логик работы мы можем подождать, то дождёмся возможности получить память. Это восстановимая ошибка. Об этой ситуации можно создать запись в логах под уровнем alert. Админ увидит, т.к. он туда обязан смотреть. Если ждать мы не можем, т.е., если получили NULL, то запись в логах будет error и программа ляжет. Т.е., это невосстановимый отказ. Всё определяется условиями реализации.

К чему это я? Да к тому, что странно в 2019г. объяснять что все системные вызовы в С, так или иначе возвращают либо результат работы, либо состояние ошибки (про error, errno и иже с ними сами при желании прочитаете). Грамотный код библиотек (а у нас нет неграмотного кода) так же возвращает либо результат работы, либо состояние ошибки. В С++ это же примерно выражается через механизм exceptions.

Так вот. Если каждый вызов проверяется на возвращаемое значение и состояние отказов отслеживается постоянно, то нет нужды в каких-то вымученных средствах мониторинга, «судовых» или «полётных» журналах и т.д. и т.п. Как человек, имеющий за плечами более 120 десантирований (128, если быть точным) в разных условиях (ночью, с оружием, в тяжёлых метеоусловиях) я спросить хочу — когда десантник летит к земле, он что, тщательно протоколирует деятельность парашюта? Серьёзно? А деятельность своего организма он не протоколирует, нет? Ну там, мало ли... обосрался, например? Если парашют не раскрылся и запаска отказала, то анализ будет. Но потом. И я не знаю что именно нужно сделать с тем же Д-6, чтобы он не раскрылся. Всё просто и надёжно. К этому привыкаешь.

Я Вам уже раз сказал, но видимо надо повторить — для начала Вам бы про Linux в общем и целом чего-нибудь почитать. Тогда отпустит маленько и число «гениальных» идей поуменьшится. Про то, чо доказательства методом аналогий не являются достаточно достоверными, посколько с лёгкостью позволяют подменять понятия, я и вообще молчу.

Так вот. Это было не «пожелание» и не «рекомендация». Чего-нибудь про Linux почитать. Я не ожидаю что Вы будете думать делать Вам это или нет. Я ожидаю что Выпойдёте и сделаете. Вам тут уже в соседнем треде где-то сказали — «хорош троллить, иди займись уже делом». Поддерживаю и яростно плюсую.

Ты, похоже, меня всерьёз не воспринимаешь,

Да. Не воспринимаю. Во-первых, у меня свой бизнес и всё хорошо, грех жаловаться. Во-вторых, системы работают, всё пашет, заказчики довольны. А «практика есть критерий истины» как старина Энгельс говаривал. Ну и во-вторых не знаю как Вас, но меня профессионально обучали управлять и людьми (вплоть до того, что гнать их на пулемёт) и техникой (так получилось). Критерии отказоустойчивости систем я на «раз» могу сформулировать при разработке такой системы и мне на хрен не убилась флудящая ни о чём система, т.к. админы явно пропустят в массе незначащих сообщений те на которые им необходимо реагировать. Флуд, он флуд и есть. Учили меня ещё во времена ВС, тогда ещё СССР в военном ВУЗе. Т.е., по-взросленькому так. Ну и в третьих, (не хотел, но видимо надо) если у Вас в нике «73» это год Вашего выпуска в свет, то меня в это же свет выпустили вообще-то, в конце 60-х. Да, сейчас таких уже не выпускают. Я в курсе. К Присяге я был приведён в середине 80-х, так что, молодой человек, если Вы тут что-то пытаетесь мне рассказать с позиций своего возраста, то не стоит этого делать. =))) Молоды исчо.

Кстати, именно выше изложенное и обуславливает то, что я пишу на С. Всё просто и надёжно в грамотных руках. Быстро и ломаться нечему, ну, если башню не заклинило, конечно. Вы тут про горутины поминали. Ну так эта идея не нова. Это ещё Кнут в «The Art of Computer Programming». Т.е., этой идее в обед сто лет. С тех пор уже херова гора либ для coroutines в С появилась. Легко гуглятся. Но, если мне не нужна отдельная либа, то после раскуривания https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html они (потоки, не имеющие поддержки в kernel-space, а работающие только в user-space) реализуются довольно просто. У меня, по крайней мере, проблем не вызывают. Зачем для этого какой-то новый язык, в принципе не ясно.

Ладно. Всё. Идите и работайте. Хорош бакланить.

UPD. /me из треда вышел.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 2)
Ответ на: Боюсь, батенька, Ваши советы ни о чём... от Moisha_Liberman

Я-то работаю. Ну, можно, конечно, и системы по-десантному писать. Десантник - это определённый уровень готовности к риску. Ну, жаль, конечно, если обидел, но извиняться не буду, потому что я написал всё правильно. До свидания, если уходите. Но аргументация у вас какая-то незачётная. Дело свелось к сравнению у кого длиннее... биография. Я всё правильно написал и это знаю, но объяснять пока не буду - подумайте сами. Если не додумаетесь - объясню через недельку, но не раньше.

den73 ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Скажите, а вы нарочно придали своему сообщению интонацию «Чёртова молодёжь! Раньше было лучше! Вот в моё время..» или это так случайно вышло?

ugoday ★★★★★
()
Ответ на: комментарий от anonymous

Где-то встречаются непоехавшие сишники интересно?

Нашёл где искать - на ЛОР-е... lol!..

yyk ★★★★★
()
Ответ на: Почему? от Moisha_Liberman

В случае с монолитом мне надо всю инфраструктуру для отказоустойчивости, считайте на два как минимум умножать. А в случае с микросервисами

А в случае с микросервисами как минимум на число микросервисов.

ya-betmen ★★★★★
()
Ответ на: комментарий от den73

Нет. Не так. Всё не так.

Десантник - это определённый уровень готовности к риску.

Ндэ? Серьёзно? Ну, то есть, Вы хотите сказать, как я правильно понимаю, что армейка вообще и десантура в частности, это такие забавные чувачки, которых хлебом не корми, а дай только где-нибудь поумирать, всерьёз и досмерти? =)))

Ну, жаль, конечно, если обидел, но извиняться не буду, потому что я написал всё правильно.

Вам незачто извиняться, т.к. Вы написали очередную ахинею. Не верите? Давайте проверим? Вот прямо сейчас откройте в своей винде Event Viewer (или как там оно это сейчас называется) и посмотрите на сообщения, которые содержатся в журналах виндов. Готов побиться об заклад что Вы не найдёте там сообщений вида «всё хорошо, прелестная маркиза» от приложений и сервисов. Вы там найдёте сообщения об ошибках и предупреждениях. Т.е., ровно о том, о чём я и говорю.

Если системе нечего сказать (нет состояния ошибки), то вне зависимости от мнений отдельных альтернативно одарённых, система будет работать так, как положено и сообщать только о том, о чём администратор системы должен знать и на что он должен среагировать. Иначе это не система, а флуд-система.

Т.е., когда Вы решили тут парой комментов выше спасать меня от суда и следствия (за что, безусловно отдельное спасибо за заботу), Вы, тем самым сказали что в MS работают ни на что негодные идиоты, т.к. они почему-то не строят протоколирование в своей системе по завещанным Вами принципам? Вы не находите это как-то уж через чур смелым заявлением? =))) Думаю, теперь для Вас «излишняя оригинальность» Ваших заявлений очевидна и без моих доводов.

Дело свелось к сравнению у кого длиннее... биография. Я всё правильно написал и это знаю, но объяснять пока не буду - подумайте сами. Если не додумаетесь - объясню через недельку, но не раньше.

Не скрою, меня позабавили Ваши попытки сослаться на бортовые журналы. Да ещё выписанные с видом типа «с высоты житейского опыта». Ну вот Вам мой опыт. Рад что все вопросы кончились, но я изначально этого не особо как-то хотел. Ну уж пришлось, так пришлось.

Я бы Вас понял, если бы Вы замутили какой-нибудь пет-проект в целях обучения, выложили бы его на гитхаб с вопросами типа не ясно, поясните. Тогда можно было бы обсуждать конкретные минусы и технологии и реализации. Пока же Вы в духе флуд-системы пишете что-то типа «монолит лучше чем микросервисы! - чем лучше? - чем микросервисы». Ну вот и поговорили, фигли тут... =)))

Ну, жаль, конечно, если обидел,

Вы себя переоцениваете. Сильно. =))) Я не могу реагировать на поток байт в кодировке UTF-8 где-то на сервере в этих ваших инторнетах как на человека. Извините... =))) Да и на людей-то в общем, не особо эмоционально реагирую. Просто, чушь это потраченное время. Всегда. А его и жаль. Невосполнимый ресурс.

Moisha_Liberman ★★
()
Ответ на: комментарий от anonymous

Блин... Не доживу, наверное...

Теперь я видел всё.

Я бы хотел увидеть ОС, вышедшую за рамки proof of concept на go-lang. Ну напишите, ну пожалуйста! Ну что Вам стоит? Напишите, установите и... идите. Нет, не туда куда Вы подумали, а в свою новую ОС, чистую и незамутнённую.

Не нравится go-lang? Ну на чём угодно напишите. «Гибких, мощных, выразительных, ... (и прочая-прочая-прочая)» языков выше крыши. На чём хотите, на том и пишите.

А нам уж оставьте этот Linux, в котором куда ни кинь, везде С.

Жаль, не доживу я до этого торжественного момента. Или всё же осилю? =))) Смелее! Вперёд!

Moisha_Liberman ★★
()
Ответ на: комментарий от ya-betmen

Нет.

Максимум, число виртуалок, где развёрнуты микросервисы. Но тот же AWS с этой проблемой на ура справляется. AWS даже при простом увеличении нагрузки может увеличить число виртуалок.

Moisha_Liberman ★★
()
Ответ на: Нет. от Moisha_Liberman

У меня сильное подозрение что ты не понимаешь смысл слова отказоустойчивость. Если у тебя только один инстанс микросервиса то его падение фейлит обработку запросов. Если ты героически запихал 2 инстанса в 2 виртуалки на одной физической железке то получаешь точно такой же фейл когда отъезжает железка. Вывод довольно простой: независимо от архитектуры минимальное число железок вычисляется из вероятности отказа железки и софтины и должно быть равно хотя бы 2м.

Для всяких амазонов понятное дело речь идет не о физических железках, но принцип то остается тем же.

ya-betmen ★★★★★
()
Ответ на: Нет. Не так. Всё не так. от Moisha_Liberman

Ну раз Вы ушли, я и решил, что чем-то задел. Ок. Давайте всё же через неделю.

Я бы Вас понял, если бы Вы замутили какой-нибудь пет-проект в целях обучения,

Уже.

Я бы хотел увидеть ОС, вышедшую за рамки proof of concept на go-lang

На предках голанг - оберонах такие системы есть, например, A2/Bluebottle. И даже в серьёзных местах используются.

У голанга принципиальное место, где он хромой навсегда - это сборка мусора. Зато безопасность не требует «аккуратных рук».

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 2)
Ответ на: комментарий от ya-betmen

Про то и речь.

Связываясь с виртуалками и балансёрами нагрузки мне принципиально похрен сколько физических серверов задействовано. Как и то, где именно они расположены. Смигрировать микросервисной виртуалкой проще, т.к. для неё нужны ресурсы скромнее чем для монолита. Одной части монолита надо много io, другой части много cpu, третьей части много ram, четвёртой много сетевого трафика... В идеале как минимум два комплекта инфраструктуры. Вместо двух комплектов виртуалок. Цена вопроса здесь куда как ниже.

Moisha_Liberman ★★
()
Ответ на: комментарий от den73

Угу...

На предках голанг - оберонах такие системы есть, например, A2/Bluebottle. И даже в серьёзных местах используются.

Есть. И на Модула-2 тоже есть... Ну вот и... Вперёд и с песней, короче.

Зато безопасность не требует «аккуратных рук».

Вот уж что-что, а накосячить на любом языке можно.

Moisha_Liberman ★★
()
Ответ на: Боюсь, батенька, Ваши советы ни о чём... от Moisha_Liberman

Ты логи то в линуксе видел, десантура? Хинт: там не только ошибки. Если у тебя в логе одна единственная запись 7:40 ПИЗДЕЦ, то такой лог нужен примерно ни разу. Если не будешь флудить диагностикой, то никогда не поймешь, что вообще у тебя происходит и на каком этапе что-то пошло не так.

anonymous
()
Ответ на: комментарий от anonymous

Зачем так сразу. Надо было, чтобы он неделю подумал. Поворочался бы ночами, как я. Я же знал, что он меня обложит. А теперь получается, что я зря пострадал :( И атомный реактор останется без диагностики. Впрочем, я надеюсь, что если у него AWS, то это хотя бы не российский реактор.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от anonymous

Хорошая попытка, но нет.

Хинт: там не только ошибки. Если у тебя в логе одна единственная запись 7:40 ПИЗДЕЦ, то такой лог нужен примерно ни разу.

Проверяем syslog severity levels:

0 Emergency: System is unusable.

1 Alert: Action must be taken immediately.

2 Critical: Critical conditions.

3 Error: Error conditions.

4 Warning: Warning conditions.

5 Notice: Normal but significant condition.

6 Informational: Informational messages.

7 Debug: Debug-level messages.

Где в выше приведённой таблице хоть одно значение, говорящее о том, что программа или демон работают успешно и вывод статистики о работе этой самой программы или демона? Ткните пальчиком? Будьте столь любезны?

Там даже debug выведен в отдельный уровень. Не будет сюрпризом что дебажные сборки от релизов отличаются? Ну и как Вы думаете — будет ли вывод дебага в релизной сборке или программа будет работать молча?

Если не будешь флудить диагностикой, то никогда не поймешь, что вообще у тебя происходит и на каком этапе что-то пошло не так.

Да. Именно потому, что логи служат одной-единственной цели. Сказать что именно пошло не так, больше ни для чего. Все остальные сказки про какой-то там «бортовой журнал» это ЛПНП (абберевиатура знакома или расшифровать?).

UPD. В общем, садитесь, знание матчасти «два». Нет, с зачёткой на пересдачу ко мне не нужно приходить, Вы бесперспективны, так что далее Вас экзаменовать я отказываюсь.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 2)
Ответ на: Про то и речь. от Moisha_Liberman

Суммарно микросервисы съедят ровно те ресурсы, которые им необходимы, совершенно неважно живут они одной ноде или в разных.Выгода может быть только в том что цена за ноду не линейно зависит от её толщины, но это тоже актуально не для всех случаев.

ya-betmen ★★★★★
()
Ответ на: комментарий от den73

Да уж... =)))

Вы нашли друг-друга... Два одиночества. Это точно. =)))

Я же знал, что он меня обложит.

Ну что Вы, батенька! Полноте! Это я Вас ещё не обкладывал. Это я Вас ещё мягонько пожурил, весьма, знаете ли, политично... Так-то бы сразу послал, но надежда на Ваше выздоровление меня не покидает. =)))

Интересно. Переход количества в качество на дол..., простите, на бестолковых распространяется? Т.е., вот тут есть две бестолочи. Есть ли шанс что хоть у одного мозги включатся или так и будут в формате «дабл ять»? =)))

Moisha_Liberman ★★
()
Ответ на: комментарий от ya-betmen

Угу...

Суммарно микросервисы съедят ровно те ресурсы, которые им необходимы, совершенно неважно живут они одной ноде или в разных.Выгода может быть только в том что цена за ноду не линейно зависит от её толщины, но это тоже актуально не для всех случаев.

Уже лучше. Но теперь вопрос. Если мне для микросервисов нужны виртуалки, а для монолита нужны сервера, то кто будет платить за них и на фиг мне комплект оборудования, за который я плачу денег, но который я вынужден держать как горячий резерв? Т.е., оборудование стоит, жрёт электричество, занимает место в ДЦ, а использовать я его не могу, т.к. это горячий резерв?

Не, я понимаю что нефиг работать с нищебродами и «нормальный заказчик»... он и не то оплатить может. Но это из разряда про то, что хорошо быть богатым и здоровым и плохо быть бедным и больным. В теории всё звиздато, но заказчик, тварь такая, всё бабок норовит сэкономить и платить за второй комплект инфраструктуры он не особо горит желанием. Ну, так чё делать-то будем?

Moisha_Liberman ★★
()
Ответ на: Да уж... =))) от Moisha_Liberman

Не обольщайся, в треде только один долбень, причем капитально поехавший, как и большинство местных сишников.

anonymous
()
Ответ на: комментарий от anonymous

Ну так чё?

Когда Вашу новую и незамутнённую этим «грязным С» систему-то ждать?

Moisha_Liberman ★★
()
Ответ на: комментарий от den73

на силы природы прст тип уповает исключительно, есть вода пью, нет воды учусь не пить в лучшем случае в хутшем того, чего того? ну того)

Deleted
()
Ответ на: Угу... от Moisha_Liberman

кто будет платить за них и на фиг мне комплект оборудования, за который я плачу денег, но который я вынужден держать как горячий резерв?

АААблакааа!!! Белогривые лашаадкиии!!!

ugoday ★★★★★
()
Ответ на: Угу... от Moisha_Liberman

Если мне для микросервисов нужны виртуалки, а для монолита нужны сервера

С какого перепугу эт раз. И два, если нагрузка действительно серьезная то железка вполне может быть выгоднее.

ya-betmen ★★★★★
()
Ответ на: Угу... от Moisha_Liberman

кто будет платить за них и на фиг мне комплект оборудования, за который я плачу денег, но который я вынужден держать как горячий резерв?

Ты усугубляешь мои подозрения, что ты не понимаешь что такое отказоустойчивость.

ya-betmen ★★★★★
()
Ответ на: комментарий от Deleted

А вот с этим аккуратнее, я Вас умоляю!

монополию

«Чистые» программисты никогда не считают денег (кроме как после получки), поэтому без скучной и нудной бухгалтерии и точного расчёта той же ТОС (total cost of ownership) тут можно в трубу вылететь.

Для этих целей есть мы — «проклятые капиталисты-кровопийцы» и «тупые управленцы-бизнесмены», которым вечно «жалко денег» на безусловно и без вопросов нужное «развитие»... Ага...

Moisha_Liberman ★★
()
Ответ на: комментарий от ugoday

Не всё так просто.

АААблакааа!!! Белогривые лашаадкиии!!!

Я не зря написал слово «инфраструктура», а не «сервера». На примере. Если взять те же цискины файера, то там есть на первый взгляд странная ф-я. Failover. И этот failover может работать в режиме stateful failover. Т.е., с сохранением состояния пользовательского (например) http-соединения. Т.е., на старших моделях ASA даже если линк прилёг или сама ASA прилегла, то второй линк, на второй ASA, возьмёт на себя всю работу без потери соединения. Т.е., пользюк даже не заметит пропадания канала.

Нахера? Да потому что может вполне так оказаться что «сервера», собранные в каком-то ДЦ в «облачко», это не самая дорогая часть всей этой эпопеи с резервированием. Не знаю как оно сейчас, может что-то и сделали, но раньше тот же Норильск сидел на спутнике, а не на кабелях. Просто потому, что проложить ВОЛС по мерзлоте это весьма и весьма дорогое удовольствие. На это даже Норникель не решался, у которого бабок хоть жопой жуй. И ТТК не решался, у которых ВОЛС вдоль всей железки от Калининграда до Владивостока. Там около 1000 км. по мерзлоте от Нового Уренгоя (ближайшая точка, откуда они могут стрельнуть волокном). Впрочем, повторюсь, может сейчас положение и изменилось.

Знаю что на «северах» компании нефтегазового сектора на коммерческой основе делятся с ОпСоСами своими каналами связи. Как минимум, один такой случай известен вплоть до названия компаний, но это не важно. И ОпСоСу дешевле платить ежемесячно аренду, а не класть своё. У нефтегазовиков и каналы свои и ДЦ и облака и всё что только душе угодно, т.к. это не цветочный говновебмагазинчик с числом уникальных хитов в сутки в районе полтора инвалида.

Т.е., как видите, если рассматривать всю инфраструктуру в общем и целом, а не только сервера в облаке, то эта задача может принять несколько иные виды в части финансов. И создать тут второй комплект программно-аппаратного комплекса для полного резервирования без потерь в качестве обслуживания, это даже не проблема, а всего лишь не самые значительные расходы.

UPD. Погуглил. Да. https://www.vedomosti.ru/business/articles/2017/09/22/734990-norilske Они это сделали! Ну круто, чё...

Вот только... Цитата оттуда:

Строительство ВОЛС обошлось «Норникелю» в 2,5 млрд руб. Эти вложения не окупятся. Проектная мощность передачи данных - 40 ГБт в секунду. Промышленная эксплуатация канала связи запланирована на II квартал 2018 г.

Не совсем так. Деньги отобьются. Вложения окупятся. Но не скоро. Уж точно не завтра. Там сразу на хвост Норникелю упали или упадут все ОпСоСы, вся нефтянка и все газовики с транспортниками. Кроме госсектора и мелких операторов. Это золотое дно, если честно. Но да ладно. Оффтоп это уже.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: комментарий от ya-betmen

Одним комментом, чтоб два не плодить.

1

Ты усугубляешь мои подозрения, что ты не понимаешь что такое отказоустойчивость.

Я ожидаю от Вас великой мудрости о том, как мне построить полностью отказоустойчивую систему без потерь в качестве обслуживания и без полного двойного резервирования. Эти ваши говнорешения, построенные по принципу «у нас тут сервак прилёг ща мы его отчиним, а пока вон, на свободной виртуалочке с одним процом поютись» оставьте Вашим коллегам, девочкам-дизайнерам. Они, возможно, оценят. Я же говно не жру. Принципиально.

Выделенное шрифтом в начале предыдущего абзаца предложение, это не просьба. Время пошло. Вперёд.

2

2.1

С какого перепугу эт раз.

Вы не даёте мне шанса усомниться что Вы в принципе не понимаете назначения микросервисов. Если Ваш «монолит» может выжить на виртуалочке с одним процом и гектаром рамы, то спрячьте его где-нибудь в уголке и больше ни кому, слышите? Ни-ко-му и никогда не показывайте. Не смешите людей. Я вот например, чуть кофием не поперхнулся. =)))

На деле монолит решает более чем одну задачу и system requirements для этих задач могут оказаться прямо противоположны. Микросервисы распиливают эту задачу на отдельные задачи, каждая из которых крутится в своей виртуалке, сконфигурированной именно под эту задачу и не пытается в одну телегу запрячь коня и трепетную лань.

2.2

И два, если нагрузка действительно серьезная то железка вполне может быть выгоднее.

Огггадаааа... =))) И вот тут уже имеет смысл читать что дешевле, а не думать «может-не может». Если у нас двойное резервирование вей инфраструктуры, то даже по тем же серверам железка типа HP DL 980 стоила в своё время 2-3 млн. руб. Если у нас двойное резервирование (вопрос из п.1 в силе, я напоминаю, Вас от решения этой задачи ни кто не освобождал), то на эти деньги я могу столько виртуалок накупить, что будет их у меня как у дурака махорки. Но нет, я куплю их столько, сколько мне понадобится для решения текущей задачи, под которую выделили денег и ещё сэкономить смогу. Я считаю бабки. Вы — нет.

Правда, HP DL 980 сейчас с производства сняли, а жаль. Хорошая машинка... =)))

Будете продолжать или ну его на фиг? =)))

Moisha_Liberman ★★
()
Ответ на: Хорошая попытка, но нет. от Moisha_Liberman
4 Warning: Warning conditions.

5 Notice: Normal but significant condition.

6 Informational: Informational messages.

7 Debug: Debug-level messages.

Где в выше приведённой таблице хоть одно значение, говорящее о том, что программа или демон работают успешно и вывод статистики о работе этой самой программы или демона?

Вообще-то с 4 по 7 - это оно и есть. Если у десантника не раскроется парашют, останутся артефакты: труп десантника и нераскрытый парашют. Если он обкакается, останутся артефакты: десантник и какашки. Если он останется в живых, то он запомнит большую часть того, что с ним произошло (не только момент, когда он больно обо что-то ударился, а и всё остальное) В твоей же системе с логом

7:40 П****Ц 
ничего не останется. И самое главное, почему десантник - это существенно. Потому что, при всём уважении к тебе (я бы обосрался скорее всего и не смог бы вообще прыгнуть с парашютом ни разу, и людей на пулемёт я бы тоже не сумел отправить), десантник - это расходный материал, как и любой солдат. Поэтому вариант 7:40 П.....Ц может быть пригодным, если мы рассмотрим десантника в образе AWS инстанса.

Но системы бывают разные. Простые и сложные. Логи нужны, чтобы увидеть ранних предвестников каких-то проблем. Понятно, что «флуд» не будут читать. Тогда нужно два лога - один лог с ошибками, другой - аналог судового журнала.

Т.е. я не знаю специфики твоей системы. Но вообще говоря нельзя делать лог, в который падают только ошибки.

В моей практике был очень простой пример: у меня ночью крутился конверетр и он должен был присылать мне SMS об ошибке. Но печаль в том, что при выключении питания на работе (а такое случалось и было вне моих полномочий это исправить), мне не приходило SMS. А теперь вопрос на засыпку: как отличить успешную конвертацию от выключенного света, если в лог приходят только ошибки.

После этого я ехал в электричке и там какой-то юнец обсуждал с кем-то о том, как его умный котёл пришлёт ему SMS-ку, если температура упадёт ниже нормы. Ха-ха. Пришлёт. Жди. Не помню, сказал я ему об этом или нет, но ошибка была очевидна. Цена вопроса здесь - всего лишь лопнувшие батареи.

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: Не всё так просто. от Moisha_Liberman

Всё это коненчо очень интересно, но не понятно каким боком относится к теме обсуждения. Вечная мерзлота одинаково холодная что для монолита, что для микросервисов.

ugoday ★★★★★
()
Ответ на: Боюсь, батенька, Ваши советы ни о чём... от Moisha_Liberman

Он может быть восстановимым, например, мы попробовали запросить память через malloc(), а вместо памяти (указателя на распределённую область, которую просили) получили возвращённое значение NULL, то спустя некоторый промежуток времени мы можем заново запросить тот же объём и продолжить выполнение, либо опять подождать.

Я ехала по дороге и у меня внезапно кончился бензин.

den73 ★★★★★
() автор топика
Ответ на: комментарий от ugoday

Да мы тут... к стоимости решений плавно перешли.

Внезапно, да. Понимаю.

Moisha_Liberman ★★
()
Ответ на: Одним комментом, чтоб два не плодить. от Moisha_Liberman

«у нас тут сервак прилёг ща мы его отчиним, а пока вон, на свободной виртуалочке с одним процом поютись» оставьте Вашим коллегам, девочкам-дизайнерам. Они, возможно, оценят. Я же говно не жру. Принципиально.

Как бы вам сказть по-мягче. Вы слегка закостенели. Индустрия ушла далеко вперёд. Сейчас так никто не делает. Современный подход: есть некоторое количество обработчиков, которые совместно делят полезную нагрузку, может живут за балансировщиком, может из одной очереди читают, может там какой хитрый распределяльщик заданий живёт. Состояние системы (начиная от количества свободной памяти и заканчивая метриками уровня приложения) зорко отслеживается и сообщается оркестратору, который в случае чего принимает меры. Так что если вдруг «сервер упал, ужос ужос», это всего лишь означает, что суммарная количество доступных ресурсов слегка снизится. Никто и не заметит.

Естественно подход «cattle instead of pet» лучше всего работает, в случае когда приложение специально под него разработано. Да-да, речь опять про микросервисы.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

Ну вот и я тоже про то же.

Да-да, речь опять про микросервисы.

Соглашусь тут полностью. Как и с текстом коммента в общем и целом. Мне же тут предлагают систему на физических серверах, а я всё от неё отпихиваюсь, приводя те же собственно, аргументы что и Вы. Думаете, я закостенел? Сильно? =)))

Moisha_Liberman ★★
()
Ответ на: комментарий от den73

Завидую Вашему идеальному миру.

Т.е., сервер ни разу внезапно не приказывал долго жить из-за помершего в RAID5 массиве винта? Может, Вы и в лифте никогда не застревали?

Moisha_Liberman ★★
()
Ответ на: комментарий от den73

Но ему что в лоб, что по лбу по-моему. Айтишник, что возьмешь.

anonymous
()
Ответ на: комментарий от anonymous

Я Вас умоляю!

Скажите, мой далёкий недалёкий друг, какая же UNIX (про линукс и не говоим) система так ведёт логи? Или глюпенькому показали картиночку, он и возрадовался? Завязывайте с администрированием локалхоста. При числе серваков намного более одного, если Вас лично заставить надзирать за происходящим, Вы первый в петлю запрыгните. И я даже об этом почему-то не пожалею.

Moisha_Liberman ★★
()
Ответ на: Я Вас умоляю! от Moisha_Liberman

Все уже поняли, что ты не умеешь работать с логами, узбагойся.

anonymous
()
Ответ на: комментарий от den73

Хорошая попытка, но нет.

Вам опять незачёт. Ни один уровень, ни с 0, ни с 4 по 7 не применяется для того, о чём Вы тут мне в уши срать пытались прилаживаться.

Единственное что — 6-й уровень мог бы сканать, но тоже нет. Просто потому, что я Вам один раз сказал что Вам надо сделать, второй раз повторил. А Вы всё ни как не прочтёте ни чего про Linux. Скажите, какая часть фразы «бегом матчасть учить» Вам непонятна и/или вызывает сомнения?

Я Вас заставлял вот это вот писать?:

Я прямо ночами во сне теперь это вижу. Так и представляю, крутятся какие-нибудь урановые центрифуги или там реактор какой-нибудь жарит уран, а в логах чистота. Раз уж ты слёту назвал столько уставов и правил, написанных кровью, то почитай там правила ведения судовых журналов, журналов эксплуатации. Обобщи. Подумай, почему в эти журналы заносят не только проблемы, а достаточно подробную историю процесса. Поправь свою систему, пока она не эбонула. Ты, похоже, меня всерьёз не воспринимаешь, а я, может быть, пытаюсь спасти тебя от тюрьмы, а мир - от катастрофы.

Я Вам ещё раз говорю — бегом учить матчасть и смотреть как люди работают в реале, а не на ту говину, которая у Вас в межушном ганглии застряла по неизвестным мне причинам. Я Вам даже уже сказал в виндах найти Event Viewer или чем там сейчас пользуются и посмотреть что именно написано в event'ах. Где там сообщения от используемого Вами софта типа «юзер den73 записал в файл 15 строк какой-то фигни, как же это прекрасно!»? Там будет несколько не это. И все сообщения, которые там будут, так или иначе сообщают об ошибках, а не о Ваших фантазиях.

Вам даже не нужно было выписывать вот это:

В моей практике был очень простой пример: у меня ночью крутился конверетр и он должен был присылать мне SMS об ошибке. Но печаль в том, что при выключении питания на работе (а такое случалось и было вне моих полномочий это исправить), мне не приходило SMS. А теперь вопрос на засыпку: как отличить успешную конвертацию от выключенного света, если в лог приходят только ошибки.

После этого я ехал в электричке и там какой-то юнец обсуждал с кем-то о том, как его умный котёл пришлёт ему SMS-ку, если температура упадёт ниже нормы. Ха-ха. Пришлёт. Жди. Не помню, сказал я ему об этом или нет, но ошибка была очевидна. Цена вопроса здесь - всего лишь лопнувшие батареи.

На вас, на вот таких «простых и незатейливых» весь мир SCADA систем смотрит как на дол... простите, как-то неодобрительно смотрит. Просто потому, что техпроцесс от «умного дома» отличается в том, что даже простейшее энергоснабжение технологического предприятия строится как минимум на двух независимых фидерах питания и там ещё генератор должен в подвале притаиться. Для управления в том числе и в первую очередь. Этим самым предприятием. Вашего энергетика, собственно, такого же дол... «простого и незатейливого» надо вообще к херам расстрелять. Какая тут на хер «цифровизация»?!? Нам это в принципе не грозит при таком уровне «тежнологических решений» и при том, что мы не понимаем чем технологическое предприятие отличается от частного домохозяйства.

Далее. Ну у меня сходный с описанным Вами частный и довольно «умный» дом. Что дальше? Почему у меня есть и генератор и вся цепь управления внезапно так на хороших UPSах висит? SMS приходят и об отключении питания, правда редком и о запуске генератора. Сейчас всерьёз рассматриваю проект оснащения дома ещё и солнечными батареями. Весь затык в том, что я хочу продавать излишки энергии, а законодательные акты, позволяющие это делать, только-только должны быть приняты. Счётчики двунаправленные и двухтарифные, позволяющие учитывать оба направления, в продаже уже есть. Но беда в том, что Энергосбыт посчитает отданную мною энергию как потреблённую. Т.е., я же за неё и заплачу. Пока так и это единственное что сдерживает меня от установки батарей и грида к ним.

Вот скажите. Только честно? Откуда вас таких берут? Где эта фабрика, где вас штампуют? Или в пол рожают, я не знаю что нужно сделать для подобного совершенства в бестолковости... =)))

Я понимаю. Я всё понимаю, Вы честно постарались. Я это оценил, но нет, опять мимо и незачёт. Пилите лучше чего Вы там запилить решили, потом попинаем.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: Завидую Вашему идеальному миру. от Moisha_Liberman

Перед тем, как помереть, может произойти разное. Как раз по разным сбоям у нас всё было прекрасно: отваливающийся интернет (когда он отваливался, внутренняя сеть тоже начинала сбоить), глючные маршрутизаторы и кондиционер, слишком часто отключавшийся в жару :) Один сервер просто банально перегрелся и его хватил тепловой удар, после чего я сказал, что моей системы на этом сервере стоят не будет. Через год мне звонили несчастные оптимисты - веб-хипсторы, которым эти гренки впарили, и спрашивали, как с ним работать :) Но даже после этого начальство не поставило новый кондиционер.

Именно поэтому и нужны более подробные логи. Конечно, это была организация, крайне далёкая от армии, в армии даже покойники строем лежат (я это говорю совершенно без иронии, т.к. у нас умер довольно недавно родственник - артиллерист).

Но и в армии тоже случаются внезапные непорядки, например, когда противник стреляет по тебе из пушек. Поэтому расширенные логи тоже, вообще говоря нужны. Это очень маленькая мысль и по-моему, Вы уже согласились. Так давайте не будем терять на это время и исписывать огромные простыни.

den73 ★★★★★
() автор топика
Ответ на: Хорошая попытка, но нет. от Moisha_Liberman

Я Вам даже уже сказал в виндах найти Event Viewer

А я это проигнорировал и не утрудил себя написат, что Win 10 - это не серьёзная железка, а среда для домохозяек. Которая может внезапно начать ставить обновления в любой момент. Т.е. Вам не следовало приводить его в пример. Линукс же - это конструктор «сделай сам», и совершенно неважно, что он пишет в логи по умолчанию. Он будет писать то, что ему скажут.

den73 ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.