|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 в самом дорогом и практически не умеющем параллелится ресурсе. pl/sql застрял в 90х, за 15 лет почти не развивается, притока спецов нет, самые вменяемые уходят в более динамично развивающиеся платформы, где кстати все крутиться вокруг stateless и параллельности (ровной противоположности идеологии pl/sql). Параллелится то он как раз нормально. Сколько там.... до 100 штук нодов в RAC впихнуть можно. Другое дело что если нужна какая-то интеграция с внешними системами - сам node не может быть инициатором этого действия. Ну или практики такой нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2021, 14:41 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgul Проектируем микросервисы, которые как стейтлесс возвращают всегда одно и то же при одинаковом входе. Угу. Вот только к БД это сложно применить. mad_nazgul andrey_anonymous Впрочем, как всегда :) Ну как бы - да. Микросервис написать гораздо легче, чем делать изменения в монолитном приложении. ... Т.е. "сила" в том, чтобы вместо изменять, можем просто "переписать всё нафиг". ... С монолитом такой фокус проделать трудно. С микросервисами проще (читай дешевле). Мнэээ... Если абстрагироваться от уже упомянутых вопросов управления согласованностью изменений и проблем с согласованностью состояний statefull-объектов - то, наверное, так и есть. Но как применить микросервисы в корпоративном приложении, выдерживая SLA - для меня всё еще загадочная загадка. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2021, 16:13 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mayton Параллелится то он как раз нормально. Сколько там.... до 100 штук нодов в RAC впихнуть можно. ну так запрос то не параллелится на ноды, да и одну ноду загрузить работой хотя бы на половину особо шансов нет. чтение параллелится лишь партициями, на фоне новомодных трендов в области параллелизации это так себе. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2021, 16:53 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
H5N1 ну так запрос то не параллелится на ноды, да и одну ноду загрузить работой хотя бы на половину особо шансов нет. Это неверно. В некоторых случаях приходится принимать специальные меры чтобы запрос по нодам не разлетался. Ну и про чтение "по партициям"... Такая возможность есть. Но параллелить сканирование единственного сегмента оракель тоже никогда не отказывался. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2021, 18:22 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
andrey_anonymous Угу. Вот только к БД это сложно применить. Поэтому БД рассматривается в рамках микросервисной архитектуры, как хранилище данных. andrey_anonymous Мнэээ... Если абстрагироваться от уже упомянутых вопросов управления согласованностью изменений и проблем с согласованностью состояний statefull-объектов - то, наверное, так и есть. Но как применить микросервисы в корпоративном приложении, выдерживая SLA - для меня всё еще загадочная загадка. Ну на самом деле всё сложно, но можно. Там есть один "лафхак", когда "микросервисы" строятся вокруг монолита. Постепенно "забирая" функции от монолита, и перенося их в "микросервисы". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2021, 12:13 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgul Поэтому БД рассматривается в рамках микросервисной архитектуры, как хранилище данных. Да как не рассматривай, а сервис, зависимый от данных (работающий с БД), перестаёт быть stateless. mad_nazgul andrey_anonymous Но как применить микросервисы в корпоративном приложении, выдерживая SLA - для меня всё еще загадочная загадка. Там есть один "лафхак", когда "микросервисы" строятся вокруг монолита. Прям технология Имитации Бурной Деятельности в незамутнённом виде :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2021, 13:14 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgul andrey_anonymous Угу. Вот только к БД это сложно применить. Поэтому БД рассматривается в рамках микросервисной архитектуры, как хранилище данных. Очень дорогое хранилище, я-бы заметил. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2021, 13:30 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgul Принцип докера и микросервисов в том что "быстро поднятое не считается упавшим" и горизонтальное масштабирование. Или грубо говоря нужно чтобы микросервис был стейтлесс. Какие-то одни сплошные заблуждения, если не сказать хуже... - горизонтальная масштабируемость (масштабирование - это когда изображение увеличивают) в микросервисах ровно точно такая же как и во всех остальных архитектурах - ее наличие нужно для начала доказать, а потом еще и регулярно проверять, чтобы обсер не случился в самый неподходящий момент, а чтобы за язык никто внезапно не поймал правильно говорить про эластичность (elasticity) и устойчивость (resilience), но никак не про масштабируемость (хотя в случае чего в любой момент времени можно сказать, что исполнитель не до конца понимает что такое микросервисы и поэтому не получилось, или что у заказчика требования оказались не вполне подходящими под модную архитектуру) - когда пишут про всякие pets vs cattle, то в первую очередь подразумевают о различных моделях управления сервисами, а ваше "быстро поднятое не считается упавшим" - это какая-то несусветная дичь: когда в системе происходит сбой какого-то сервиса - это называется "аварией", которая должна тщательно расследоваться и предприниматься меры по недопущению ситуаций в будущем (это, конечно, когда инфраструктурой управляет тот кто нужно, а не продакт-оврер, разгребающий бэклоги ) - я конечно понимаю что каждая макака хочет потешить свое ЧСВ, возомнить себя гуглом и построить космолет, только большинству заказчиков все эти идеи про масштабируемость, связность и пр. нафиг не упали, заказчику нужно чтобы ПО работало и выполняло свои функции, а отдел макак, который будет сопровождать космолеты, заказчику не нужен - микросервисы на самом деле про замкнутость предметной области, а каким образом там поддерживается персистентность данных уже дело десятое, уж тем более не имеет никакого значения используются там тригеры и хранимые процедуры в СУБД или нет: есть сервис, представляющий собой персистентное хранилище, он работает по определенным правилам, все, конец истории. - докер (не контейнеры, а именно докер, контейнеры за 20 лет до докера появились) - это пример ПО, имеющего крайне отвратительное качество (совершенно непродуманное, с крайне ущербным API), но при этом сумевшего каким-то образом завоевать популярность, пользоваться им нужно крайне осторожно (хотя насколько я понимаю его в оркестраторах выставили на мороз, и теперь его ниша - это десктоп) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2021, 23:00 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Андрей Панфилов Какие-то одни сплошные заблуждения, если не сказать хуже... ... Хорошо что упомянули, про " Pets vs Cattle ". Как раз это одно из свойств микросервисной архитектуры, мы можем строить надежную систему из не надежных компонентов. Совсем другой подход. Ну докер не смотря на то что он плохой, показал, что он работает. ;-) <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 15:18 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgul мы можем строить надежную систему из не надежных компонентов ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 15:56 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov mad_nazgul мы можем строить надежную систему из не надежных компонентов Дело в том что этот кролик написан на технологиях Erlang. А у них - постулируется принцип что если какой-то актор завис или сбойнул - то перезапуск всего стека решает проблему. Благодаря такой философии Erlang приложения и работают годами. Хотя по статистике сбоев и по оказываемому эффекту - там можно конечно поспорить. Но то что выбрасывает С++ приложение в kernel-panic, в Erlang проходит незаметным. Почему никто не исследует - это хороший вопрос. Вопрос к разработчикам Rabbit. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 16:26 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mayton, Автоматически перезапускается оно снаружи, целиком ноду, а не само внутри себя... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 16:28 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov mad_nazgul мы можем строить надежную систему из не надежных компонентов как ничего, никаких деталей не знающий в этой области человек, могу предположить, что в целом такого рода поведение - перезапустил и спи спокойно - является обратной стороной сложности разборки с состоянием в любых событийного плана моделях. Даже если возможно воспроизвести состав очереди, не обязательно легко воспроизводится последовательность событий, приводящих к падению. И даже если есть сплошное логирование "вообще всего" - не факт, что поведение обязательно воспроизведется. На сложности отладки в системах с очередями еще создатели SmalTalk указывали, а речь шла в целом о более простых конструкциях. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 16:56 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov mayton, Автоматически перезапускается оно снаружи, целиком ноду, а не само внутри себя... Ну очередь сообщений сохраняется после перезагрузки? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 17:20 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Sayan Malakshinov Мой личный "любимчик" - RabbitMQ: всем пофиг (включая самих разработчиков раббита) какого хрена нода упала - автоматически перезапустилась же! Конкретно RabbitMQ - это такой пример невежества, из всех очередей RabbitMQ позиционируется как "самый простой в настройке кластера" (т.е. все остальное настраивать сложно), при этом у него есть явные проблемы с масштабируемостью и вендор рекомендует отключать режим HA и персистентность сообщений, чтобы оно хоть как-то работало. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 17:28 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgul Как раз это одно из свойств микросервисной архитектуры, мы можем строить надежную систему из не надежных компонентов. Совсем другой подход. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 17:30 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Андрей Панфилов, насколько я понимаю, RabbitMQ, из умеренно современных очередей, первая попытка получить "быструю" очередь поверх протокола с надежной доставкой. Из-за тезиса о надежности, физического протокола в частности, возникают края производительности и масштабируемости. Более поздние реализации строятся на размене надежности на количество обработчиков очереди/повтор передачи. Так, что падение любого из обработчиков, по вероятности, не приводит к пропускам/ложным извлечениям информации из очереди. Очевидно, что такие системы сложнее в настройке, управлении, расходе железа, хотя в каком-то диапазоне можно получить более высокие скорости обработки. Системы с потерями в канале и ненадёжной доставкой, или разделением содержимого очереди по обработчикам - обязаны быть сложнее в управлении. И разбираться в них с тем, ба, почему упал обработчик, тем более, никто не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 18:01 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Андрей Панфилов это такой пример невежества, из всех очередей RabbitMQ позиционируется как "самый простой в настройке кластера" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 18:50 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
booby, я же двум разным людям про разное отвечал, пассаж про потери - он про утверждение, что систему можно слепить из чего попало, но в целом если про RabbitMQ продолжать, то он и туда вписывается: - идем в интернет и читаем страшные истории в духе: -- СУБД ну совсем никак не масштабируется -- давать "стороннему приложениюмодулю" работать с данными из нашей СУБД напрямую не хорошо (оно может данные попортить, появляется дополнительная связноть, и более другие страшные вещи) - что же делать? нужно делать микросервис! - как мы этот микросерис будем масштабировать и как к нему будут обращаться? идем опять в интернет читать рекомендации: -- HTTP - это плохо, там хендшейки, таймауты, накладные расходы на балансировку и прочий ужас-ужас -- нужно делать очередь.... и тут опять история про масштабируемость, устойчивость и пр... В итоге приходим к тому что было изначально, только все сложнее на порядок, да еще инфраструктура и штат раздулись, так что если денег у заказчика не особо много, то можно в сторону микросервисов даже не смотреть. При этом все эти истории про масштабируемость никто не любит рассказывать до конца, потому что если копать глубже, то там масштабируемость довольно условная получается - почти все инфраструктурные сервисы с намеком на персистентность при перебалансировке требуют перезапуска клиентов, отсюда все истории про то что быстро поднялось не считается упавшим, при этом в сервисах даже graceful shutdown никто толком не реализовывает. Последний раз меня elasticsearch особенно порадовал - у него история такая, что если в сайзинг не попал, то нужно перестраивать индекс, а чтобы его быстро перестраивать нужно исходные данные в нем же хранить, а там возникает история про безопасность и конские требования к I/O. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2021, 20:37 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Андрей Панфилов mad_nazgul Как раз это одно из свойств микросервисной архитектуры, мы можем строить надежную систему из не надежных компонентов. Совсем другой подход. Так весь интернет так и работает. А при диалапе-то до 30% доходило потерь пакетов. И норм, работало. Медленно правда. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 12:48 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
mad_nazgul Так весь интернет так и работает. А при диалапе-то до 30% доходило потерь пакетов. И норм, работало. Медленно правда. Страшилки какие то, на любом вменяемом модеме был или MNP или HST (Курьеры онли). Достичь 30% потерь TCP/IP пакетов из-за dial up'а это нужно постараться. AFAIK большинство потерь пакетов не из-за потерь/ошибок в каналах, а из-за недостаточной пропускной способностью где-то по дороге и, соответственно, просто выкидыванием пакетов в роутере которые ну никак через данный маршрут пролезть не могут. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.04.2021, 13:00 |
|
Зачем все пилят монолит?
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev Страшилки какие то, на любом вменяемом модеме был или MNP или HST (Курьеры онли). Достичь 30% потерь TCP/IP пакетов из-за dial up'а это нужно постараться. Какую вменяемость можно ждать от Win-модема весной, при затопленных колодцах? <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2021, 06:30 |
|
|
start [/forum/topic.php?fid=52&startmsg=40062776&tid=1880263]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
others: | 275ms |
total: | 520ms |
0 / 0 |