LINUX.ORG.RU

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

 ,


1

3

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

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

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

★★★★★

Последнее исправление: den73 (всего исправлений: 1)
Ответ на: Хорошая попытка, но нет. от Moisha_Liberman

SMS приходят и об отключении питания, правда редком и о запуске генератора

А кто вам гарантирует доставку SMS?

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

Тебя затроллили пассивной агрессией, лол :)

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

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

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

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

Цены бы не было.

Какая разница какая там у Вас винда? Возьмите ту же 2000-ю (усертифицирована до немогусеньки) или NT4.0 (эту вообще на боевые корабли в своё время ставили). Механизм и содержимое журнала событий (EventLog) у Вас будут одинаковы. И сама по себе идея тоже.

Вы там выше сознавались что никогда не использовали events даже в виндах. Зря. Было бы меньше ахинеи про «бортовые журналы». Большое упущение с Вашей стороны... Просто потому, что если программист пишет системный сервис, а мне доводилось это делать, не имеет ни каких средств контроля за работой сервиса кроме как эти самые события. Так что, по сути, что винды, что линукс, пишут в логи или журнал событий, ровно то, что им скажут. А не то, что Вы там себе напридумывали.

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

Это шизик, инфа 100%, его надо унижать, а не спорить с ним.

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

Уже предлагал...

Решение есть тот же jansson + curl, например. Но здесь нет ни чего такого, что бы говорило о том, как мы будем обрабатывать данные, пришедшие по tcp в виде json. В альтернативе — json-rpc есть.

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

тебя к системам сложнее веб-сервера подпускать нельзя

Но и у веб-сервера есть логи уровня info. Где он набрался своих понятий - военная тайна, видимо.

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

Я не удивлён.

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

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

Да? Серьёзно?

А теперь открываем картиночку и смотрим что же там написано. Где же выражения бурной радости системы про то, что у нас всё хорошо?

Даже на картинке в 10:22:52 есть некое событие подсистемы Seсurity-SPP и, следом, аж три ошибки этой системы. Две в 10:22:54 и в 10:22:56.

Что и подтверждает высказанный мною тезис о том, что всё протоколирование нужно только для того, чтобы сформировать понимание проблемы. Отказа и его причин. Что и требовалось доказать.

Вот, анон, скажите, Вы просто дислексик или ещё и инвалид на голову до кучи? =)))

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

А Вы умеете разговаривать с покойниками?

Или Вы умеет работать на выключенном компьютре? Система сдохла, предварительно кинув сообщение о критической ошибке. Всё. Приехали. О чём Вы собираетесь общаться с покойником-то?

Может, Вам всё же, санитаров позвать? Отпустит?

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

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

den73 ★★★★★
() автор топика
Ответ на: Да? Серьёзно? от Moisha_Liberman

Если бы info было выплюнуто из-за ошибки в 10:22:54, то его время было бы такое же. И у предыдущих info тоже.

На соседней странице есть сообщение «Successfully scheduled Software Protection service for re-start at 2019-03-20T07:22:43Z. Reason: RulesEngine.», после которого никаких сообщений в течение 20 минут.

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

anonymous
()

Каждый раз, когда меня посещают подобные мысли при почтении его поста, я дочитываю до комментария к пользователю, основанного на этом посте:

В С любой оператор должен заканчиваться точкой с запятой. Это порождает грустные смайлики «);» и «};» и я попытаюсь от них избавиться. Я изначально сомневался, нужны ли точки с запятой, и вот теперь появился против них ещё серьёзный аргумент.

(источник)

и меня отпускает.

В этом треде, правда, жжешь больше ты.

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

Это Вы так изысканно про access_log или...

аналогичные? Ну там, вообще-то, либо их отключают (одминам локалхоста не подпрыгивать), либо держат для анализа ошибки 404, которая туда и пишется. Назначение — заблокировать по возможности быстро и оперативно какое-нибудь говно типа nikto или аналогичное. Правда, 404 это так же отказ, но пусть Вас это не смущает.

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

Да тут... тред такой.

Я уже ржать задолбался, если честно. Но я морально готовлюсь к тому, что будет явлено миру когда он допилит свой пет-проект. Через недельку, говорит, готово будет. =)))

Moisha_Liberman ★★
()
Ответ на: Вам бы иной раз думать, прежде чем писать. от Moisha_Liberman

Владимир

«По телевизору показывают жуликов. Ну чем я хуже?».

https://eventlogxp.com/rus/essentials/windowseventlog.html Журналы событий Windows

Полезно в google произвести поиск типа «форматы log файлов»

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

Батенька...

Теперь я не сомневаюсь — Вы инвалид на голову. У Вас разница в событиях одной подсистемы — две секунды. А Вы что хотели? Чтобы система сразу же все события каждой подсистемы в логи писала? Она вообще-то, могла что угодно сделать. В винде нет реал-тайма и неизвестно с каким приоритетом выполняется эта задача. Система тупо могла переключить контекст. Или ожидать исполнения каких-то внутренних операций данного системного сервиса. Это вон, у своего коллеги по несчастью спрашивайте.

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

Уже писал в треде. Но повторю.

У меня где-то валялась реализация на С++ по конвертации он лайн событий виндов в syslog. Для того, чтобы вообще всё в syslog писалось, даже с виндовых машин. Т.е., на виндомашине запускался системный сервис, который полученные events сразу перегонял в syslog. Правда, в пределах одной локальной сети, т.е., по UDP/514, без tcp и без шифрации.

Я не знаю заведётся ли эта система сейчас, но что там в events пишется и с какими severity levels, я в курсе и очень хорошо. =)

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

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

Простые вопросы. Почему у трёх таких разных стран, КНР, СССР, США - звёздочки на флаге? У кого такая власть, чтобы сподобить каждого салютовать своему флагу, а в итоге получается, что он салютует звёздочке. До звёздочек были кресты, до крестов был бык, до быка - баран. Драконы ещё были, а в Китае остались и по сей день.

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

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

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

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

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

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

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

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

Есть, наконец, символика названия персонажей в литературе. Вот доктор Живаго, к примеру, случайно назван именно так? А нет. Филологи, прочитав Пастернака, чётко скажут, что означает это имя, и обоснуют, притом это будет достаточно объективно (язык однозначен). А почитай Диккенса. Мистер Толкингхорн и леди Дедлок, к примеру. Там уж названия совершенно прямо и грубо говорит о роли.

И так далее. Всё это достаточно очевидно и если ты это игнорируешь, то это скорее говорит о тебе, чем обо мне. Просто о том, что ты невежественный человек.

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

den73 ★★★★★
() автор топика
Ответ на: Уже писал в треде. Но повторю. от Moisha_Liberman

Владимир

Убрал строку, что сообщение для all ... /и как результат человека обидел. Sorry./

PS: Почему капча проверку делает «Я не робот»?
Правильно - «Я не дятел»

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

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

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

Всё. Этот порвался. =)))

Заносите следующего.

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

Умоляю Вас даже не смотреть на FreeBSD (там логотип красный чёрт), а уж про chmod 666 и вообще молчу.

Навеяло https://lleo.me/arhive/humor/serafim.htm

Иной раз я даже с хроническими судаками типа Лео Калганова согласен. Хоть и судак, но иной раз даже дело молвит. =)))

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

Да нет! Что Вы!

Всё нормально! Я не из обидчивых, это просто 146%. =) Я сам в этом треде, если честно, то веселюсь от души. ЛОР торт, да. Здесь имеет смысл зарегистрироваться. =))) Согласитесь, тред же весёлый и такой... нажористый. =)))

Moisha_Liberman ★★
()
Ответ на: Батенька... от Moisha_Liberman

Это Вы так изысканно про access_log или... аналогичные?

Это я больше про error.log. Там есть такой уровень сообщений, info называется.

Вы инвалид на голову

Это ты просто проецируешь. Что получается натягиваешь на глобус, что не получается - не замечаешь, залезть и посмотреть не рискуешь, ибо вся почему-то необходимая тебе картина разлетится на куски.

Пофиг, я вообще-то Дену писал. Он хоть и поехавший, но адекватнее тебя. Не раздут хотя бы.

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

Полировать синтаксис нерожденного медведя — дело глупое, да и обоснования у тебя далеки от общепринятых и близки к СПГС. Есть исследования о роли смайликов в восприятии языка? Так я и думал.

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

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

Её создают определённые люди

А откуда она у них в головах берется?

Филологи, прочитав Пастернака, чётко скажут, что означает это имя, и обоснуют, притом это будет достаточно объективно (язык однозначен).

Ха, ха, если они такие умные, то почему такие бедные? В смысле написали бы что нибудь подобное сами.

Пастернак и Диккенс не вне системы а внутри.

А кто тебя развёл верить в то, что это «само так получилось»?

Слышишь, чувак! 1)А что ты делаешь на Лоре, и зачем все это пишешь? 2)Откуда ты вообще взялся? Случайность? Не думаю :))))

P.S. Я не верю что ты это все всерьез.

P.P.S. Про «мех» пруфы бы не помешали. Причем такие, которые подтверждают, что при изобилии пушного зверя цена всегда (в большинстве) случаев идет вверх. Иначе - п.здобол.

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

Не знаю что там за смайлики ты видишь, но точки с запятой задалбывают это точно. Тот случай когда машина тебя унижает. Ясно же, что распарсить код можно и без этих смайликов сраных. Кстати, скобки тоже не нужны, и в гуманных языках они используются только для ясности, т.е. когда это нужно тебе, а не компилятору. C-style просто унизителен для человека, наверно именно поэтому он так распространен.

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

Про «мех» пруфы бы не помешали.

Читал на заборе 100 лет назад. За 5 минут не нагуглил. Ок, побуду п*здоболом. Но ведь и так же очевидно, что мода управляема.

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

Образы вне художественных произведений я игнорирую осознанно

Так и художественных хватит. Толстого читал? Искусство должно как это... воспитывать народ. Вот оно и воспитывает. Кому Гомер Илиада, кому Лебединое Озеро, кому Гранатовый Браслет, а кому Голубое Сало.

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

А (1) символ жопы. () это очко. Вывод: сишку делали грустные пидоры. Или сишка для унылых пидоров, что похоже на правду.

anonymous
()
Ответ на: комментарий от den73
В моей унылой программе
Повесились грустные смайлики
И я запустив компилятор
Стукнулся взглядом о скобочки
Одна из них соскочила
Пугая дебильный парсер
Кривой незакрытой рожицей
anonymous
()
Ответ на: Одним комментом, чтоб два не плодить. от Moisha_Liberman

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

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

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

Не понял...

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

И что с нею (с виртуалкой) не так? Во-первых, времени на то, чтобы поднять виртуалку нужно меньше, чем прогрузить выключенный сервак. И тут не важен размер дампа СУБД. Просто потому, что сама по себе виртуалка поднимется ни чуть не дольше, чем любая другая (без СУБД). А серваки, на которых живут виртуалки, и так находятся под какой-либо нагрузкой. Там другие виртуалки живут. Время на прогрузку любого сервака из семейства HP (я с ними по большей части работаю) назвать? Если у Вас стоит второй сервак постоянно включённым, но не занят ни чем, то нахрен он постоянно включён? Т.е., Вам нужно распинать одмина Уазилия, чтобы он поднял свою задницу, пошёл, включил сервак... У меня же всё уже включено и работает. Так что, здесь Вы чушь изволили написать.

Во-вторых. Если мне нужно смигрировать виртуалку между хостами в ДЦ, то есть, на одном хосте её опустить, передать по сети на второй и там поднять, то откройте спеку на HP DL 380G9 (чисто примера ради) и узбагойтезь. Там eth контроллер 4x1GbE. Сколько там у Вас дамп-то? 5Gb? Плюс, сама система, то-сё... Гектар на 7-8 наберётся? Ну, по-любому не долго. Если опасаетесь за производительность, то поставьте уже на трафик внутри ДЦ (а не вашей этой комнаты в офисе) 10GbE HPE FlexibleLOM и соответствующие коммутаторы да, десяти гиговые и возрадуйтесь. На 10 гигах Ваши 7-8 даже не заметит ни кто. Так что, и здесь херня у Вас написана.

Дальше. Пока у Вас мигрирует СУБД на эти Ваши 5 гигов (странно, у меня и по 70 с лихером гигов летает), Ваш монолит будет в принципе в отрубе. Пока Вы прогрузите сервак, пока Ваш монолит просрётся, пока обнаружит что СУБД там устарела или ещё что... У меня же база в моём случае всегда в актуальном состоянии, напоминаю, т.к. миграция производится по состоянию на данный момент и дамп базы тут чисто для резерва как и полагается. Вам же придётся восстановить дамп и потом как-то в него залить изменившиеся с момента последнего дампа данные. Либо сделать вид что их и не было (потерять их). Откуда Вы эту дельту возьмёте? Заставите операторов заново их провести? Ну оригинально, чё... Удачи.

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

По времени это где-то будет секунд 30-40, максимум минуту. При условии, что использовано в качестве инфраструктурного оборудования не какая-то говнина, собранная Васяном в хижине без света, а нормальное оборудование. Написал про оборудование выше, повторять не буду.

Конечно нафиг, спорить с некомпетентным человеком.

Боюсь, не Вам оценивать мою компетенцию. Вас в каком-то ГПТУ научили зачем-то с грехом пополам «одминить серваки», дальше Вы как были на каком-то уровне, так на нём и остановились. Вдобавок, Вы не в состоянии воспринимать трезвые зёрна нового. У микросервисов есть минусы, но ровным счётом ни одного из Вами перечисленных. Вы укрепили меня во мнении что Вы и не работали с данной технологией (и даже не пытались) и не понимаете её плюсов. Дискуссия с Вами это просто потеря времени. Извините, но это правда.

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

Если мне нужно смигрировать виртуалку между хостами в ДЦ

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

HP DL 380G9

А амазон точно их использует?

Ваш монолит будет лежать на боку.

Не забывай что это у тебя нет горячего резерва.

У меня же та часть микросервисов, которая ни как не будет связана с данной СУБД (а так может быть, сюрприз-сюрприз) будет вполне спокойно работать

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

Боюсь, не Вам оценивать мою компетенцию.

К твоему счастью.

Вдобавок, Вы не в состоянии воспринимать трезвые зёрна нового.

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

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

Пошутили что ли?

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

Да ни одна техника не помирает внезапно и без предупреждения. Кроме блоков питания. Вот почему в нормальных серваках их два. Во всех остальных случаях оборудование начинает сперва сыпать ошибки, которые видны админу и на основании которых сразу принимается решение. Полетели soft errors на винтах? Ну так не доводите до полного отказа — мигрируйте виртуалки с этого серва. Полетели ошибки с рейда? Аналогично. Коммутатор не сдохнет весь и сразу. Отъехал у него порт, так как минимум второй на резерве есть. Но ошибка в логи прилетит. Вот что нужно протоколировать и вот зачем нужны логи, а не для всякой херни, как мне тут сказки сказывали и песни пели. Полетели ошибки — меняй оборудование пока не стало поздно. Но до этого убери с него все виртуалки чтобы пользюки работали, а не ютились на 1 проце с 1 гектаром рамы.

Беда в том, что я лично представляю себе сколько точек отказа и как быстро выйти из положения без потерь в качестве обслуживания. Вы — явно нет.

А амазон точно их использует?

Честно? Да мне насрать чё там у Амазона. Это в моём случае даже не основная часть системы. Более того, мы например, даже не всегда можем её использовать. Я привёл пример сервака просто потому, что он перед глазами, я на нём hardened gentoo поднимал перед отправкой в ДЦ. Очередная машина для очередного заказчика. У меня своё облако и там они используются, эти серваки. Чё дальше?

Не забывай что это у тебя нет горячего резерва.

ЛОЛ, просите, ШТО? На 300+ серваках у меня... Чего нет? Горячего резерва? И куда же он делся? Да нет, всё на месте. Но я видел и слегка покрупнее облака. Там вообще ресурсов хоть жопой жуй. И виртуалки мигрируют только в путь. Хотя, их дёргать нужно только в определённых случаях. Так всем проще.

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

В моём случае это минута. Минуту потерпит, полюбуется на страничку, которая там вывешивается. Но это не ожидание пяти, если не десяти минут пока сервак (из резерва, огггадааа) проснётся с нуля и не заливка дельты со времени последнего бекапа в базу. База актуальна сразу и постоянно.

Вы этого так и не понимаете, жалко блея чего-то там про брошюрки-методички.

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

Секс Вы, полагаю, любите? Дорогу, как я догадываюсь, знаете и без меня. Счастливого пути.

UPD. Ступайте-ка в игнор.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: Пошутили что ли? от Moisha_Liberman

А можно спросить по делу? Я хочу приделать капчу. Это отдельный сервер с API: / выдаёт новый id капчи, /captcha/:Id возвращает картинку для данного Id, а /process принимает Id и ответ и статусом сообщает об успехе или неуспехе.

Соответственно, правильно ли сделать так:

- loginform обращается к серверу капчей по адресу /
- запросы /captcha/:Id проксируются из основного сервиса в сервис капчей
- обработчик входа опять же лезет на сервер капчи
Смущает меня в том то, что мой основной сервер отчасти является клиентом для сервиса капчи, а отчасти - прокси для него же. Как-то это неоднородно.

И ещё такой вопрос: сервер капчи помнит в себе пару из id-а и отгадки. Значит ли это, что он не stateless и это не микросервисная архитектура?

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

Приветствую!

сервер капчи помнит в себе пару из id-а и отгадки. Значит ли это, что он не stateless и это не микросервисная архитектура?

Для Вас или чисто со стороны, это микросервис и stateless. Просто потому, что для нас сервер помнит картинку и отгадку, но только в пределах одной сессии аутентификации пользователя. Как там оно внутри сделано, может, он вообще все сессии запоминает зачем-то, нам не ведомо. Мы судим только со своей стороны.

Соответственно, правильно ли сделать так:

Если это будет работать, то почему бы и нет?

Смущает меня в том то, что мой основной сервер отчасти является клиентом для сервиса капчи, а отчасти - прокси для него же. Как-то это неоднородно.

Да и Господь с ним! Вам надо аутентифицировать пользователя, всё остальное вторично.

Вот пример для golang для google captcha https://godoc.org/github.com/haisum/recaptcha

И да. Хотел бы извиниться — выше был малость резковат.

Moisha_Liberman ★★
()
Последнее исправление: Moisha_Liberman (всего исправлений: 1)
Ответ на: Приветствую! от Moisha_Liberman

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

Что тогда такое stateless? По моему представлению, если состояние любым образом передаётся между запросами ,то оно не stateless, а значит, его падение может быть заметно пользователю. В нашем случае, он введёт правильный ответ и ответ не будет принят. Если stateless, то не будет.

Если это будет работать, то почему бы и нет?

Да у меня пока и вообще без микросервисов работает. Хотя в данном случае получается очень естественно, т.к. сервис уже в готовом виде. Гугл не люблю, взял dchest/captcha. Но увы, времени прикрутить нет. Зато сделал интеграционный тест (намучался, надо сказать).

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

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

Здесь проблема в том, что военные «грубы» не по тому, что они такие. Это вызвано тем, что мы работаем как правило в режиме цейтнота и чаще всего времени на долгие рассусоливания просто нет. Гентари так же отличаются таким... «оверклокнутым мозгом» и подходами. Да, у меня либо gentoo (года с 2001-2002, после слаквари), либо hardened gentoo, хотя и от Ubuntu не вздрагиваю. Если вдуматься, то время это самый ценный ресурс. Поэтому, если что и объясняем, то быстро, резко и максимально доходчиво. Денег заработать можно. Повторно прожить минуты своей жизни нет.

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

Ладно. К делу.

Что тогда такое stateless? По моему представлению, если состояние любым образом передаётся между запросами ,то оно не stateless, а значит, его падение может быть заметно пользователю. В нашем случае, он введёт правильный ответ и ответ не будет принят. Если stateless, то не будет.

Не совсем так. Я не смотрел подробно этот ваш dchest/captcha, так нос в исходники сунул, но в примерах там в main.go есть строка обращения к localhost:8666. Т.е., подразумевается что Вы своим сервисом для авторизации пользователя обращаетесь именно по этому URL. Там у Вас должен стоять и ожидать подключений сервис авторизации.

Как там внутри авторизация в этой капче реализована Вам не важно. У Вас есть одна, атомарная операция. Результат либо «да», либо"нет". Т.е., авторизован пользователь или нет. А сколько там запросов и куда шлётся для достижения результата вам принципиально похрен. Какие там состояния запоминаются в процессе работы — тоже. Там генерируется html-страничка с формой, аудио, png, как я бегло поглядел... Всё это для Вас «за кадром». «В кадре» только результат решения данного сервиса. Либо пользюк может работать с Вашим сервисом, либо он идёт в пешее эротическое.

Т.е., для Вас (или для кого угодно, это не важно) stateless означает что между двумя различными запросами на авторизацию не будет сохранено состояние. Например, если писать на ЛОРе из-под анонима, то будет выскакивать капча. Сколько раз ни пиши, капча будет различная. Т.е., между двумя капчами нет связи, состояние не передаётся. Ни где не запоминается что IP=такой.то уже ввёл капчу и поэтому его не нужно опрашивать и можно сразу вернуть серверу ЛОРа результат авторизации.

У Вас, по идее, всё точно также. Если Вы разместите свой сервер капчи на другом серваке в сети, т.е., обращение уже будет не к localhost:8666, а some.IP.address:8666, то Вы получите классический удалённый микросервис авторизации. Тогда, кстати, Вашим сервером капчи смогут пользоваться и другие люди и точно так же — кинули запрос, получили ответ. Как именно в данном случае не важно.

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

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

Это понятно.

Я не смотрел подробно этот ваш dchest/captcha, так нос в исходники сунул, но в примерах там в main.go есть строка обращения к localhost:8666.

Работа с капчей строится так:

КлиентКапчи> СервисКапчи, дай мне капчу
СервисКапчи> Генерирую id, картинку, отгадку
СервисКапчи> Запоминаю в своей базе (id, картинка, отгадка)
СервисКапчи> КлиентКапчи, Получи id
СервисКапчи> КлиентКапчи, у тебя 10 минут.
КлиентКапчи> СервисКапчи, дай мне картинку с кодом id
СервисКапчи> На (берёт картинку из базы) 
КлиентКапчи> Пользователь, отгадывай картинку!
ПользовательКапчи> Туплю 5 минут
ПользовательКапчи> Тут нарисовано 100500
КлиентКапчи> СервисКапчи, правильно, что картинка с 
  кодом id - это 100500? 
СервисКапчи> Да. 
СервисКапчи> Через 10 секунд забываю (id, картинка, отгадка)
Неужто можно сказать, что СервисКапчи stateless?

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

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

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

Я, например, видел сервера капчи без базы данных. Генерация картинок шла on the fly, при помощи библиотеки gd (мощная штука, кстати). На сях, да. Но это в принципе не важно. Важно только то, что для Вас это чёрный ящик.

UPD. И да, при таком подходе это stateless микросервис.

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

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

Так вот, такую капчу если уронить и сразу перезапустить, то все выданные капчи не сработают.

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

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

Стейтлес - это чистое ФП, т.е. там совсем нет состояния, без дураков.

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

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

Нет проблем с понятиями.

Stateless protocol ни как не зависит от функциональщины.

Стейтлес - это чистое ФП, т.е. там совсем нет состояния, без дураков.

Нет. Вы в принципе не понимаете сути stateless. Например, тот же http/https это stateless протокол. https://ru.wikipedia.org/wiki/Протокол_без_сохранения_состояния

Допустим, есть html-страница. В ней есть каскадная таблица стилей, пара джаваскирптов, тело документа. Браузер, запрашивая данную страницу, сделает 4 запроса, по одному на каждый элемент страницы. Но отрендерит и выведет на экран одну страницу. Каждый из сделанных запросов ни как не зависит от других запросов. Каждый запрос сам по себе. Но результат един. Для пользователя результат один, а на деле там 4 независящих друг от друга запроса.

С этой вашей капчой та же хрень. Результат один — либо «да», либо «нет», а сколько там и каких запросов к каким серверам, это в принципе не важно. Вот в чём суть stateless протокола.

А кто там обслуживает сервер капчи, кто и как его реализовал, для Вашего основного сервера, это не важно. С функциональщиной это в принципе ни как не связано. У Вас есть логическая единица — сессия аутентификации. Пока пользователь не ввёл капчу, на сервере о нём есть какая-то информация. Ввёл, прошла аутентификация, всё информации нет. Следующие сессии аутентификации снова и заново. Без учёта предыдущих состояний и без передачи (сохранения) состояния на будущее.

Я так понимаю, что сервисы без состояния можно убивать и будут потеряны только те запросы, которые приняты, но не обработаны. А сервисы с состоянием - это те, которые нельзя так просто уронить.

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

Если уж опасаетесь внезапного падения, поставьте несколько виртуалок, соберите их в пул и разверните а них микросервисы капчи. Ну либо поставьте несколько серваков и разверните на них свой монолит, точно так же объединив их в пул. Разница в цене вопроса, да.

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

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

Мои соболезнования.

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

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

Вот проект http://web-stage.metacpan.org/pod/Captcha::Stateless действительно стейтлесс капчи, которая переживёт падение сервиса. Единственное «состояние», которое должен знать сервер - это ключ шифрования. Кстати, вариант интересный. Ключи шифрования можно периодически менять, тогда кража ключа не так страшна.

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

Не. Она тоже не совсем stateless

stores state in an HTTP cookie in the browser.

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

Всё остальное? Ну не знаю, конечно.

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