|
|
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Андрей Панфиловмне так кажется что с обоими способами доказательства, что микросервисы - это всегда хорошо, у вас возникнут проблемы Я согласен, что это далеко не серебряная пуля. Есть проблемы, много проблем, но бывают ситуации(во всяком случае я в это верю) когда микросервисы могут быть подходящим вариантом. И не знакомиться с ними только потому, что в них есть какие-то там проблемы на мой взгляд глупо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 12:54 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevможет меня уже подсчитали.да)))) У вас практика есть. У ТС теория на уровне сферического коня которого он не пишет и не будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 13:24 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevто что я видел - было круто. Остановил микросервис на проде, залил новую версию, запустил - юзеры даже не заметили.Если что-то можно безболезненно остановить, то это что-то можно и не включать потом на самом деле у нас к примеру, много где BPM уже лет 15 используется и его можно прямо в рабочее время взять и выключить, а потом включить, однако чет этот BPM никто микросервисом не называет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 13:58 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Андрей ПанфиловLeonid Kudryavtsevто что я видел - было круто. Остановил микросервис на проде, залил новую версию, запустил - юзеры даже не заметили.Если что-то можно безболезненно остановить, то это что-то можно и не включать потом на самом деле у нас к примеру, много где BPM уже лет 15 используется и его можно прямо в рабочее время взять и выключить, а потом включить, однако чет этот BPM никто микросервисом не называет. Не. Не включать было нельзя ))) Там сотни тысяч юзеров. Скорее действовал принцип "быстро поднятое, упавшим не считается". Т.к. при ошибках шел ретрай и при повторных ошибках - переключение на резерные сервисы/серверную. Т.к. микросервисы были написаны на чистой java + apache http library, то перезапускались достаточно быстро. Ну отвлалились подписчики.... ну через пару секунд подключились обратно. Никто и не заметил, что это на проде программисты под рутовым паролем развлекаются ))) Т.е. кволити услуги наверное понижалось, но если быстро - не критично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 14:23 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsevто что я видел - было круто. Остановил микросервис на проде, залил новую версию, запустил - юзеры даже не заметили. ... Обмен данными был по HTTP через прокси-балансир.Когда на одной из прошлых работ я поднимал кластер "обычных монолитов", пользователи тоже не замечали, что перезапускаются отдельные узлы этого кластера. Сама по себе фишка "остановил, обновил, запустил и никто ничего не заметил" - доступна давным давно. Микросервисы как таковые не добавляют к этой возможности ничего нового. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 14:50 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovLeonid Kudryavtsevто что я видел - было круто. Остановил микросервис на проде, залил новую версию, запустил - юзеры даже не заметили. ... Обмен данными был по HTTP через прокси-балансир.Когда на одной из прошлых работ я поднимал кластер "обычных монолитов", пользователи тоже не замечали, что перезапускаются отдельные узлы этого кластера. Сама по себе фишка "остановил, обновил, запустил и никто ничего не заметил" - доступна давным давно. Микросервисы как таковые не добавляют к этой возможности ничего нового. ветка про масштабирование, у тебя приходится плодить монолиты при нагрузке, а это лишние расходы по памяти и тп ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2018, 13:45 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Герой дняветка про масштабирование, у тебя приходится плодить монолиты при нагрузке, а это лишние расходы по памяти и тпОй, ну вы что вообще, пара сотен лишних мегабайт особой роли не сыграют, учитывая что сейчас даже у разработчиков десктопы по 32Gb и выше (у меня 64 о 16 ядрах), а что там на серверах даже страшно представить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2018, 13:49 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Герой дняветка про масштабирование, у тебя приходится плодить монолиты при нагрузке, а это лишние расходы по памяти и тп"Вы не гугл, не фэйсбук и не амазон". В моём случае было ~6 экземпляров (так потребовал разработчик), которые прекрасно умещались на одном физическом сервере с восемью гигабайтами памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2018, 18:31 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovГерой дняветка про масштабирование, у тебя приходится плодить монолиты при нагрузке, а это лишние расходы по памяти и тп"Вы не гугл, не фэйсбук и не амазон". В моём случае было ~6 экземпляров (так потребовал разработчик), которые прекрасно умещались на одном физическом сервере с восемью гигабайтами памяти. Там где я видел микросервисы, было под 50 экземпляров микросервиса на одном из серверов который получал данные с биржи. Я так понимаю, в первом приближение по экземпляру микросервису на биржу-источник информации. Это только один микросервис. Остальные куски системы еще больше. Когда они хостились на amazon'е, говорили, что кол-во инстанцев амазона было больше 100. Они динамически их еще запускали/гасили в зависимости от нагрузки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2018, 19:31 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, У меня был проект, один exe и 120 длл к нему. Микросервисы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2018, 19:38 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevТам где я видел микросервисы ...Когда вы приводили пример с микросервисами, то у вас был балансировщик. Я отметил, что за балансировщиком одинаково работает и кластер микросервисов и кластер монолитных приложений. То есть, возможность кластеризации не есть достоинство микросервисов. Экономия ресурсов среды исполнения ... Для системы с динамической и ленивой загрузкой классов ... Вы точно уверены, что у нас достаточно данных для такого обсуждения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.05.2018, 19:53 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov, Микросервисы нужны для того, чтобы monkey-кодеры быстро нафигачили код, а добрые дяди dev-ops'ы это дерьмо разгребали. Причем хороший микросервис должен быть такого размера, что его не жалко "взять и переписать". А уж к какой БД, и кто подключается, это зависит от "кривизны" рук архитектора/тим лида. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 05:25 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
mad_nazgulBasil A. Sidorov, Микросервисы нужны для того, чтобы monkey-кодеры быстро нафигачили код, а добрые дяди dev-ops'ы это дерьмо разгребали. Причем хороший микросервис должен быть такого размера, что его не жалко "взять и переписать". А уж к какой БД, и кто подключается, это зависит от "кривизны" рук архитектора/тим лида. В Ваших словах содержится крошечная доля истины :) На самом деле основная проблема в том, что в типичном случае задача ставится как "поди не знаю туда принеси не знаю что". Это если не продукт пилим новый, где вообще не ясно, что нужно и взлетит ли. Поэтому на старте точно ясно только одно- код будет переписан и по несколько раз. Кстати, границы микросервисов- это тоже тоже то, что будет переделано много раз. Альтернатива? Ну например твиттер, где, после удачного старта, старый код был выкинут вообще весь и всё написано заново на другом языке с другой инфраструктурой. Но такое себе мало кто может позволить. Из успешного опыта- мы написали нечто (сначала в виде монолита, но с прицелом на разделение), потом, когда стало ясно, какие куски кода тормозят и что надо мастабировать- быстро разделили на части с разными требованиями- бэкенд к UI - один и без задержек и глюков (простой и тупой). А сложные расчёты с нейронками и прочим блэкджеком- в виде масштабируемых кусков (которые можно запускать в любом количестве и отстреливать, если бага привела к коллапсу). Разделение заняло пару человеко-дней. Интеграцию сделали через шину и БД (команды и результаты расчётов). Потому что так было правильно в данном случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 07:23 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, у вас пример уж очень сильно на поверхности лежит, т.е. у нас есть разные модули с разным профилем нагрузки (разными источниками данных, конфликтующими зависимостями, разными SLA и пр.) - давайте сделаем так, чтобы эти модули жили своей жизнью - здесь никакой новизны нет. А вот в приведенном "докладе" (здесь специально в кавычках, потому как с такой манерой говорить на доклад оно ну с очень сильной натяжкой смахивает) концепция такая: у нас есть сущности из одного и того же домена, давайте DAO, обслуживающие эти сущности растащим не то что по разным модулям, а даже по разным сетевым сервисам - хоть какая-то толика здравого смысла в этом есть, если внутри мы не используем уловки, которые сводятся к тому, что у получившихся модулей разный профиль нагрузки и т.п.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 08:17 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Андрей Панфилову вас пример уж очень сильно на поверхности лежит, +1 Декомпозиция всегда есть и будет. Это обычный процесс, и к микросервисам относится только как возведенный в абсолют или притянутый за уши. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 09:07 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Андрей ПанфиловА вот в приведенном "докладе" (здесь специально в кавычках, потому как с такой манерой говорить на доклад оно ну с очень сильной натяжкой смахивает) концепция такая: у нас есть сущности из одного и того же домена, давайте DAO, обслуживающие эти сущности растащим не то что по разным модулям, а даже по разным сетевым сервисам - хоть какая-то толика здравого смысла в этом есть, если внутри мы не используем уловки, которые сводятся к тому, что у получившихся модулей разный профиль нагрузки и т.п.? Собственно у любого действия всегда должна быть причина. Если кода становится хоть чуть больше- это должно иметь веские причины- только удалять код можно "потому что его возможно удалить" Микросервисы всегда приводят к увеличению кода. На это должна быть причина. Причём всегда индивудуальная, почему ИМЕННО СЕЙЧАС нужно добавить кода. Возможные причины- разные профили нагрузки, разное время жизни в проде, разные циклы релизов, разные команды и прочие. Но это сложный кейс, и сказать без знания приложения нужно ли делать- невозможно. А все доклады полезны только в смысле изучить чужой опыт, чтобы потом принять СВОЁ решение. Если речь про того мужика с клиентами отдельно от счетов- ну фиг знает, может именно в его случае это оправдано? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 10:52 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
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 - оно упало, т.ч. настройки откатили обратно". То, что "упало" по совершенно другим причинам - никого нафиг не волнует ))) просто откатили и доказывай, что настройки вообще не при чем ))) С микросервисами - как это этот процесс организационно должен проходить проще. Надеюсь ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 12:23 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevТо, что "упало" по совершенно другим причинам - никого нафиг не волнует ))) просто откатили и доказывай, что настройки вообще не при чем ))) ну дык докажи, фигле просто трепаться? по сабжу в основном, масштабируемости препятствует совместное использование общих ресурсов. в бд - это блокировки и неоптимальные запросы, на серверах приложений, - это неподходящие таймауты и неоптимальный код, например обработка больших xml От того, как будет запускаться код приклада - из одного war файла или нескольких, или из одной директории или из нескольких, нифига не зависит. зависит от того как используются процы и память такшта связь между микросервисами и масштабируемостью, если и есть, то только косвенная, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 16:44 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
в общем единственный плюс микросервисов - это модульность, причем модульность чисто для прогеров, чтоб не в одном большом проекте ковыряться, а в мелких. Для одминов - одни минусы. Вместо одного war файла будет много, вместо одного процесса или потока на сессию, будет тоже много, т.к. разные сервисы - это по сути будут разные процессы. С деплоем монолита ваще не вижу проблем. Скопировать war в несколько десятков Mb - не проблема, также как и дернуть сервера приложений в кластере. на пхп ваще скрипты заливают по отдельности и никаких проблем с деплоем кроме того нужен внешний аутентификатор, и нужно шарить сессии если данные сессии, скажем коллекция, храниться прям в сессии то доступ к ней быстрей чем к мемкэшу на другом сервере, а объем использованной памяти такой же. Конекты к внешним ресурсам, то бишь аутентификатору и базе данных с сессиями, врят ли улучшат масштабируемость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 16:52 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevЗапихивая все в "монолит",слово монолит в данном топике не должно присутствовать. Микросервисы не с монолитом сравнивают. А например, с шиной предприятия. Оркестровкой сервисов и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 18:45 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
казинакС деплоем монолита ваще не вижу проблем. Скопировать war в несколько десятков Mb - не проблема, также как и дернуть сервера приложений в кластере. на пхп ваще скрипты заливают по отдельности и никаких проблем с деплоем Речь вообще не об этом, при планировании\спринтах монолита невозможно всунуть фичу очень быстро, несмотря на то что она бизнесу нужна еще вчера. Потому что надо провести регрессию, убедиться что другие истории\фиксы ничего не ломают и тд и тп, это долгий процесс. В случае с микросервисами(хотя у меня тоже двоякое к ним отношение) это возможно и цикл между запросили фичу\получили короткий, что бизнесу очень нравится, а то что думают админы или девелоперы по большому счету сейлсам все равно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 18:46 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Petro123.....А например, с шиной предприятия. Оркестровкой сервисов и т.д. Ой,ой... Вы так не пугайте ((( Нафиг, нафиг. Все эти шины, BIPL'ы, BPM'ы и прочее ((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 18:47 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevPetro123.....А например, с шиной предприятия. Оркестровкой сервисов и т.д. Ой,ой... Вы так не пугайте ((( Нафиг, нафиг. Все эти шины, BIPL'ы, BPM'ы и прочее ((( Ну они тоже не от простой жизни придуманы. Микросервисы только еще более усложняют интеграцию\версионирование и тд. Там хоть есть одно место, откуда можно начать все раскручивать, а в микросервисах все размазно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 18:49 |
|
||
|
Масштабирование микросервисов.
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Се́рвис-ориенти́рованная архитекту́ра (SOA, англ. service-oriented architecture) — модульный подход к разработке программного обеспечения, основанный на использовании распределённых, слабо связанных (англ. loose coupling) заменяемых компонентов, оснащённых стандартизированными интерфейсами для взаимодействия по ... ..... BPM другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2018, 18:54 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39646500&tid=2122042]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
172ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 284ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...