powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Масштабирование микросервисов.
25 сообщений из 86, страница 3 из 4
Масштабирование микросервисов.
    #39644346
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей Панфиловмне так кажется что с обоими способами доказательства, что микросервисы - это всегда хорошо, у вас возникнут проблемы



Я согласен, что это далеко не серебряная пуля. Есть проблемы, много проблем, но бывают ситуации(во всяком случае я в это верю) когда микросервисы могут быть подходящим вариантом. И не знакомиться с ними только потому, что в них есть какие-то там проблемы на мой взгляд глупо
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39644378
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevможет меня уже подсчитали.да))))
У вас практика есть.
У ТС теория на уровне сферического коня которого он не пишет и не будет.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39644408
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevто что я видел - было круто. Остановил микросервис на проде, залил новую версию, запустил - юзеры даже не заметили.Если что-то можно безболезненно остановить, то это что-то можно и не включать потом на самом деле у нас к примеру, много где BPM уже лет 15 используется и его можно прямо в рабочее время взять и выключить, а потом включить, однако чет этот BPM никто микросервисом не называет.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39644432
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловLeonid Kudryavtsevто что я видел - было круто. Остановил микросервис на проде, залил новую версию, запустил - юзеры даже не заметили.Если что-то можно безболезненно остановить, то это что-то можно и не включать потом на самом деле у нас к примеру, много где BPM уже лет 15 используется и его можно прямо в рабочее время взять и выключить, а потом включить, однако чет этот BPM никто микросервисом не называет.
Не. Не включать было нельзя ))) Там сотни тысяч юзеров.

Скорее действовал принцип "быстро поднятое, упавшим не считается". Т.к. при ошибках шел ретрай и при повторных ошибках - переключение на резерные сервисы/серверную. Т.к. микросервисы были написаны на чистой java + apache http library, то перезапускались достаточно быстро. Ну отвлалились подписчики.... ну через пару секунд подключились обратно. Никто и не заметил, что это на проде программисты под рутовым паролем развлекаются )))

Т.е. кволити услуги наверное понижалось, но если быстро - не критично.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39644456
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsevто что я видел - было круто. Остановил микросервис на проде, залил новую версию, запустил - юзеры даже не заметили.
...
Обмен данными был по HTTP через прокси-балансир.Когда на одной из прошлых работ я поднимал кластер "обычных монолитов", пользователи тоже не замечали, что перезапускаются отдельные узлы этого кластера.

Сама по себе фишка "остановил, обновил, запустил и никто ничего не заметил" - доступна давным давно.
Микросервисы как таковые не добавляют к этой возможности ничего нового.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39644984
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovLeonid Kudryavtsevто что я видел - было круто. Остановил микросервис на проде, залил новую версию, запустил - юзеры даже не заметили.
...
Обмен данными был по HTTP через прокси-балансир.Когда на одной из прошлых работ я поднимал кластер "обычных монолитов", пользователи тоже не замечали, что перезапускаются отдельные узлы этого кластера.

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

ветка про масштабирование, у тебя приходится плодить монолиты при нагрузке, а это лишние расходы по памяти и тп
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39644992
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дняветка про масштабирование, у тебя приходится плодить монолиты при нагрузке, а это лишние расходы по памяти и тпОй, ну вы что вообще, пара сотен лишних мегабайт особой роли не сыграют, учитывая что сейчас даже у разработчиков десктопы по 32Gb и выше (у меня 64 о 16 ядрах), а что там на серверах даже страшно представить.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39645168
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дняветка про масштабирование, у тебя приходится плодить монолиты при нагрузке, а это лишние расходы по памяти и тп"Вы не гугл, не фэйсбук и не амазон".
В моём случае было ~6 экземпляров (так потребовал разработчик), которые прекрасно умещались на одном физическом сервере с восемью гигабайтами памяти.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39645188
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovГерой дняветка про масштабирование, у тебя приходится плодить монолиты при нагрузке, а это лишние расходы по памяти и тп"Вы не гугл, не фэйсбук и не амазон".
В моём случае было ~6 экземпляров (так потребовал разработчик), которые прекрасно умещались на одном физическом сервере с восемью гигабайтами памяти.

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

Остальные куски системы еще больше. Когда они хостились на amazon'е, говорили, что кол-во инстанцев амазона было больше 100. Они динамически их еще запускали/гасили в зависимости от нагрузки.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39645192
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
У меня был проект, один exe и 120 длл к нему.
Микросервисы?
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39645197
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevТам где я видел микросервисы ...Когда вы приводили пример с микросервисами, то у вас был балансировщик.

Я отметил, что за балансировщиком одинаково работает и кластер микросервисов и кластер монолитных приложений.
То есть, возможность кластеризации не есть достоинство микросервисов.

Экономия ресурсов среды исполнения ...
Для системы с динамической и ленивой загрузкой классов ...
Вы точно уверены, что у нас достаточно данных для такого обсуждения?
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646457
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov,

Микросервисы нужны для того, чтобы monkey-кодеры быстро нафигачили код, а добрые дяди dev-ops'ы это дерьмо разгребали.
Причем хороший микросервис должен быть такого размера, что его не жалко "взять и переписать".
А уж к какой БД, и кто подключается, это зависит от "кривизны" рук архитектора/тим лида.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646476
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulBasil A. Sidorov,

Микросервисы нужны для того, чтобы monkey-кодеры быстро нафигачили код, а добрые дяди dev-ops'ы это дерьмо разгребали.
Причем хороший микросервис должен быть такого размера, что его не жалко "взять и переписать".
А уж к какой БД, и кто подключается, это зависит от "кривизны" рук архитектора/тим лида.

В Ваших словах содержится крошечная доля истины :)

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

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

Из успешного опыта- мы написали нечто (сначала в виде монолита, но с прицелом на разделение), потом, когда стало ясно, какие куски кода тормозят и что надо мастабировать- быстро разделили на части с разными требованиями- бэкенд к UI - один и без задержек и глюков (простой и тупой).
А сложные расчёты с нейронками и прочим блэкджеком- в виде масштабируемых кусков (которые можно запускать в любом количестве и отстреливать, если бага привела к коллапсу). Разделение заняло пару человеко-дней.
Интеграцию сделали через шину и БД (команды и результаты расчётов). Потому что так было правильно в данном
случае.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646500
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,

у вас пример уж очень сильно на поверхности лежит, т.е. у нас есть разные модули с разным профилем нагрузки (разными источниками данных, конфликтующими зависимостями, разными SLA и пр.) - давайте сделаем так, чтобы эти модули жили своей жизнью - здесь никакой новизны нет. А вот в приведенном "докладе" (здесь специально в кавычках, потому как с такой манерой говорить на доклад оно ну с очень сильной натяжкой смахивает) концепция такая: у нас есть сущности из одного и того же домена, давайте DAO, обслуживающие эти сущности растащим не то что по разным модулям, а даже по разным сетевым сервисам - хоть какая-то толика здравого смысла в этом есть, если внутри мы не используем уловки, которые сводятся к тому, что у получившихся модулей разный профиль нагрузки и т.п.?
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646518
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилову вас пример уж очень сильно на поверхности лежит,
+1 Декомпозиция всегда есть и будет.
Это обычный процесс, и к микросервисам относится только как возведенный в абсолют или притянутый за уши.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646576
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей ПанфиловА вот в приведенном "докладе" (здесь специально в кавычках, потому как с такой манерой говорить на доклад оно ну с очень сильной натяжкой смахивает) концепция такая: у нас есть сущности из одного и того же домена, давайте DAO, обслуживающие эти сущности растащим не то что по разным модулям, а даже по разным сетевым сервисам - хоть какая-то толика здравого смысла в этом есть, если внутри мы не используем уловки, которые сводятся к тому, что у получившихся модулей разный профиль нагрузки и т.п.?

Собственно у любого действия всегда должна быть причина.
Если кода становится хоть чуть больше- это должно иметь веские причины- только удалять код можно "потому что его возможно удалить"
Микросервисы всегда приводят к увеличению кода. На это должна быть причина. Причём всегда индивудуальная, почему ИМЕННО СЕЙЧАС нужно добавить кода.
Возможные причины- разные профили нагрузки, разное время жизни в проде, разные циклы релизов, разные команды и прочие.
Но это сложный кейс, и сказать без знания приложения нужно ли делать- невозможно.
А все доклады полезны только в смысле изучить чужой опыт, чтобы потом принять СВОЁ решение.

Если речь про того мужика с клиентами отдельно от счетов- ну фиг знает, может именно в его случае это оправдано?
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646625
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin...и всё написано заново на другом языке с другой инфраструктурой. Но такое себе мало кто может позволить...
Если общение между микросервисами на HTTP - то язык и инфраструктура в общем-то пофиг
Хотим фигачим один из микросервисов на Java, хотим на Go, а можем и на Erlang'е ))) Нужно только, что бы язык/библиотека поддерживала базовые возможности HTTP.

Alexey Tomin....Микросервисы всегда приводят к увеличению кода....
На мой взгляд спорно.

Даже понятие "строки кода" - и то спорно. Т.к. можно написать "простыню" в 3 тысячи строк, которую потом будет никак не поддержать. Можно разбить на 10 хорошо продуманных классов по 500 строк, где все будет ясно и понятно. Строк стало больше, но суммарная сложность - меньше.

Alexey Tomin... разные профили нагрузки...

Что для современной Java (как минимум до 1G collector ) - крайне важно

Модуль обработки Web-запросов - нужно много eden области и мало old heap
Модуль кэширования, хранения данных - нужно мало eden области и много old heap.

Совершенно разные профили нагрузки. Запихивая все в "монолит", мы теряем возможность вручную управлять heap. Мало того, AFAIK для Java вполне реальны проблемы, когда ошибка в одном модуле "убила" весь heap и повесила весь сервер (или нештатное потребление heap значите выше предполагаемого, либо банальный resource leak)

IMHO & AFAIK

Alexey Tominразные циклы релизов, разные команды и прочие.

С точки зрения проектов, особенно в России. IMHO огромный плюс.

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

Так же и низависимый деплой.

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

С микросервисами - как это этот процесс организационно должен проходить проще. Надеюсь )))
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646807
казинак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevТо, что "упало" по совершенно другим причинам - никого нафиг не волнует ))) просто откатили и доказывай, что настройки вообще не при чем )))

ну дык докажи,
фигле просто трепаться?


по сабжу
в основном, масштабируемости препятствует совместное использование общих ресурсов.
в бд - это блокировки и неоптимальные запросы,
на серверах приложений, - это неподходящие таймауты и неоптимальный код, например обработка больших xml

От того, как будет запускаться код приклада - из одного war файла или нескольких, или из одной директории или из нескольких, нифига не зависит.
зависит от того как используются процы и память

такшта связь между микросервисами и масштабируемостью, если и есть, то только косвенная,
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646811
казинак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем единственный плюс микросервисов - это модульность, причем модульность чисто для прогеров, чтоб не в одном большом проекте ковыряться, а в мелких. Для одминов - одни минусы. Вместо одного war файла будет много, вместо одного процесса или потока на сессию, будет тоже много, т.к. разные сервисы - это по сути будут разные процессы.

С деплоем монолита ваще не вижу проблем. Скопировать war в несколько десятков Mb - не проблема, также как и дернуть сервера приложений в кластере.
на пхп ваще скрипты заливают по отдельности и никаких проблем с деплоем


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

Конекты к внешним ресурсам, то бишь аутентификатору и базе данных с сессиями, врят ли улучшат масштабируемость.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646852
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevЗапихивая все в "монолит",слово монолит в данном топике не должно присутствовать.
Микросервисы не с монолитом сравнивают. А например, с шиной предприятия. Оркестровкой сервисов и т.д.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646853
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
казинакС деплоем монолита ваще не вижу проблем. Скопировать war в несколько десятков Mb - не проблема, также как и дернуть сервера приложений в кластере.
на пхп ваще скрипты заливают по отдельности и никаких проблем с деплоем


Речь вообще не об этом, при планировании\спринтах монолита невозможно всунуть фичу очень быстро, несмотря на то что она бизнесу нужна еще вчера. Потому что надо провести регрессию, убедиться что другие истории\фиксы ничего не ломают и тд и тп, это долгий процесс. В случае с микросервисами(хотя у меня тоже двоякое к ним отношение) это возможно и цикл между запросили фичу\получили короткий, что бизнесу очень нравится, а то что думают админы или девелоперы по большому счету сейлсам все равно
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646854
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123.....А например, с шиной предприятия. Оркестровкой сервисов и т.д.
Ой,ой... Вы так не пугайте (((
Нафиг, нафиг. Все эти шины, BIPL'ы, BPM'ы и прочее (((
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646855
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevPetro123.....А например, с шиной предприятия. Оркестровкой сервисов и т.д.
Ой,ой... Вы так не пугайте (((
Нафиг, нафиг. Все эти шины, BIPL'ы, BPM'ы и прочее (((


Ну они тоже не от простой жизни придуманы. Микросервисы только еще более усложняют интеграцию\версионирование и тд. Там хоть есть одно место, откуда можно начать все раскручивать, а в микросервисах все размазно
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646858
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Се́рвис-ориенти́рованная архитекту́ра (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных (англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по ...
.....
BPM другое.
...
Рейтинг: 0 / 0
Масштабирование микросервисов.
    #39646861
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev,
Сколько лет термину микросервисы и где стандарт?
...
Рейтинг: 0 / 0
25 сообщений из 86, страница 3 из 4
Форумы / Java [игнор отключен] [закрыт для гостей] / Масштабирование микросервисов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]