|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Привет. У меня непонимание. Какой смысл от микросервисной архитектуры, насколько это должно быть МИКРО ? Разве подход, когда части приложения общаются между собой по сети (через REST, если говорить о микросервисах) не усложняет систему ? Не тормозит ее ? Ведь тут добавляется сложность в виде сетевого слоя. Нужно ли, к примеру, логгирование, выделять в отдельный микросервис ? И что, если процессор выполняет 1000 операций за 1 секунду, он должен организовать 1000 сетевых запроса в логгер ? Но это опять таки к вопросу о том, насколько МИКРО они должны быть тогда. Как я вообще мыслю. Имеем систему. она состоит их различных блоков, выполненых в виде отдельных DLL. Эти DLL крайне минимально взаимодуйствуют между собой. Самый максимум связи, это UserId у Document. Т.е. не ссылка на класс User, чтобы не нужно было связывать сборки. Как такую систему разбить на микросервисы, что куда уйдет ? Или все это будет одним микросервисом ? Ну тогда какой же он микро... не понимаю. Помогите, приведите пожалуйста примеры, на словах, какой-то системы состоящей из микросервисов. Объясните какие там микросервисы должны быть. И в чем, собственно, выгода. Обязательно ли, чтобы взаимодействие между ними было сетевым, или разные DLL тоже можно назвать микросервиса - если мы в каждой DLL создадим классы userSerivece, documentService ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 16:57 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Нормальная практика это чтобы весь микросервис помещался в голову одного человека. К примеру некоторые из микро сервисов в моей системе: отправка писем отправка смс геосервис(метоположение по координатам или по айпи итд) метамодель ботсервисы(телеграм, фейсбук) кролер генератор уникальных ключей(отдает строки по заданному алфавиту заданной длинны гарантированно уникальные в контексте указанного дискриминатора) преобразователь курсов валют (конвертирует валюты) рассыльщик уведомлений(когда какому клиенту какое письмо послать) и прочие ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 17:16 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Denis., ну и супер. Я такое обычно делаю в виде отдельного проекта, в виде DLL. Потом можно подключить куда-то, и вызывать примерно так Код: c# 1. 2.
У меня возникает не понимание сути микросервисов. Обязательно ли они должны быть разделены сетевым слоем? Если это просто DLLка которая лежит тут же в проекте, это не микросервис что-ли ? Чтобы она стала "микросервисом" нужно поднять отдельный сервер, в котором будет реализован прием сетевых сообщений на предмет отправки почты + класс-шлюз (чтобы я в клиенте мог писать простой код вида MailSender.Send) + слой обработки ошибок, в том числе сетевых? Потрясающе. И где же тут тогда Микро ? Если это Микро, то как называется, когда просто в виде DLL ? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 18:24 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Denis., И еще тогда вопрос. Вот эта куча микросервисов, это столько WinService должно висеть ? А как быть с версионностью, если нужно допилить сервис, но другие клиенты не должны из-за этого менять у себя что-то. Что ж нам, придется держать на машине WinService'ы вида: MailSender1.1_ForProject1.exe MailSender1.1_ForProject2.exe MailSender2.5_ForProject2.exe ? У себя я делаю просто. У меня в Solution находятся буквально своя индивидуальные копия MailSender DLL. Когда стартует новый проект, и ему нужен такой-же функционал, то я просто копирую проект DLL в этот солюшен. Там он дальше живет, эволюционирует - может потом сильно отойти от родительского варианта. Да, в итоге мы получаем некоторое дублирование, но зато нет особых проблем с версионностью - проект живет только со своей версией вспомогательной библиотеки. Меняется проект, меняется и библиотека. Главное, что у меня нету сетевого взаимодействия. Я не понимаю в чем его смысл, ведь это ведет к усложнению разработки (нужено разработать слой доступа) + сложности конфликтов версионности. Может я не дорос до таких сложностей. Но вот хочется разобратся, как правильно создавать проекты используя микросервисы. Пока не вижу плюсов, вижу только минусы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 18:46 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Преимуществ полно, хотя и недостатки есть. Главные преимущества для меня - простота развертывания, и скорость разработки. Мне не нужно тестировать и перевыклдывать кучу проектов при изменении одного. Также мне просто делегировать задачи разработчикам и не переживать что они недостаточно компетентны. Как только ты будешь писать более менее объемную систему, причем задача будет делать это быстро, а не как в типичном корп. секторе, ты сразу все поймешь. Вот есть у меня проект, допустим по фрилансу. С одной стороны у меня куча заказчиков, с другой куча исполнителей. С одних я беру рубли, другим я плачу баксы. Мне нужен сервис который конвертирует из одной валюты в другую. Если он живет дллкой, то тебе придется перевыкладывать оба продукта при изменении сервиса(например ты брал курсы ЕЦБ, а решил брать ЦБ). Паблиш большого проекта на прод - это боль и страх и много заморочек, даже с ci. Оба эти продукта тоже находятся в разработке, потому тебе скорее всего не просто будет взять и выложить их, да еще одновременно. Если же они берут данные по контракту с удаленной тачки через шину сообщений, то все становится гораздо проще. Тебе не нужно перевыкладывть оба продукта, тебе не страшен даунтайм микросервсиа, ты скорее всего не наделаешь там ошибок так как там тривиальный код, ты можешь поручить создание этого сервиса новичку и если сервис плохо сделан - просто выкинуть его, он не затронет никакие части системы. Или, к примеру, сервис должен иметь очень широкий интернет канал, или юзает много процессорного времени, тебя тоже это не волнует так как ты можешь заскейлить каждый сервис отдельно. Главное не делай так чтоб микро сервисы лазили не в свою базу, и будет норм. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 19:32 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Denis., Хм. Ну в данном примере выходит контракт не поменялся. А ведь при разработке как раз и получается, что все эти сервисы живут и развиваются, т.е. так и так менять и клиента и сервер. Насчет того, что когда реализовано в виде DLL и нужно менять И сервер И DLL. Можно решить эту проблему. У вас там микросервис и шина для их связи. А для DLL можно сделать аналог через плагинную систему и контракт. Чтобы сервер сам подгружал DLL реализующую нужный ему контракт из папки. В этом случае можно будет заменить только DLL и сервер не заметит. Дальше уже разные команды разрабатывают разные части приложения но общение идет через контракт. В общем пока не понял выгоды микросервисов :( ... |
|||
:
Нравится:
Не нравится:
|
|||
10.10.2016, 20:39 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
ProBiotek, если непонятно, зачем нужно общение по сети, то не нужно заморачиваться. Глупо делать из принципа "шоб на микросервисах". И DLL ну никак не альтернатива микросервисам, это вообще совсем из другой области, а то получим С++ vs MySQL. Тут задачи уровня "шина данных" vs "микросервисы". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 01:05 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
ProBiotekУ меня непонимание. у тебя реальная задача - есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 02:11 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Изопропил, Да задач то полно, всегда. У меня непонимание того, что такое молоток, когда от него выгода, и когда им пользоваться. А вы меня спрашиваете, есть ли у меня задачи для молотка. Я сам задаю себе этот вопрос, есть ли у меня задачи для микросервиса ) Но не зная для чего они нужны я не могу решить, есть ли у меня для них задачи. Пока я понял, что их плюс в масштабировании. Т.е. если в шине будут копится запросы, а сервисы на различных машинах будут брать эти задачи и обрабатывать их. Соответветственно, чем больше будет запущено программ, тем быстрее они будут разгребать очередь. Только в этом их плюс, или еще что то есть ? Раньше сказали про простоту деплоя, но про это я все же не понял. Если контракт изменится, то так и так все передеплоивать - не говоря о том, что наоборот все усложнится, т.к. из шины данных задачу сможет взять как обновленный сервис, так и старый. Т.е. придется еще заморачиватся с версионностью данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 11:23 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
ProBiotekDenis., ну и супер. Я такое обычно делаю в виде отдельного проекта, в виде DLL. Потом можно подключить куда-то, и вызывать примерно так Код: c# 1. 2.
Как подключить дотнетную DLL к серверу приложений, работающему под, например, z/OS + WebSphere ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 11:38 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
ProBiotek, Микросервисы -- способ наращивать функциональность системы так, чтобы реализации новых функций были независимы друг от друга. Это подходит далеко не для всех типов проектов, просто по сути. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 11:39 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
hVosttProBiotek, Микросервисы -- способ наращивать функциональность системы так, чтобы реализации новых функций были независимы друг от друга. Это подходит далеко не для всех типов проектов, просто по сути.+ исторически могло сложиться так, что существовало несколько независимых ИС, а теперь пришло время их интегрировать между собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 11:43 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Алексей К+ исторически могло сложиться так, что существовало несколько независимых ИС, а теперь пришло время их интегрировать между собой. Ага, два или три отдельных приложений, вдруг оказавшись как-то связаны между собой внезапно превращаются в.. микросервисы ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 11:55 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Смешались в кучу кони, люди ... В смысле, микросервисы, шины, приложения, DLL. Откуда тут может быть понимание? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.10.2016, 14:07 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
hVosttАлексей К+ исторически могло сложиться так, что существовало несколько независимых ИС, а теперь пришло время их интегрировать между собой. Ага, два или три отдельных приложений, вдруг оказавшись как-то связаны между собой внезапно превращаются в.. микросервисы Оно конечно зависит от способа интеграции, но результат может быть множеством микросервисов в том числе. зы: О таком в популярных блогах не пишут и на молодёжных конференциях не рассказывают. Так что пользуйся случаем, пока я тут. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 06:55 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
AddxСмешались в кучу кони, люди ... В смысле, микросервисы, шины, приложения, DLL. Откуда тут может быть понимание?Информационная система может быть разделена на функциональные модули различными способами. В том числе с помощью "микросервисы, шины, приложения, DLL". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 06:58 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Алексей КОно конечно зависит от способа интеграции, но результат может быть множеством микросервисов в том числе. Я просто к тому, что всё зависит от точки зрения. Микросервисы успешно пилили ещё до появления термина «микросервисы», но проблемы начались именно с появлением этого термина, КМК. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 07:36 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
hVosttАлексей КОно конечно зависит от способа интеграции, но результат может быть множеством микросервисов в том числе. Я просто к тому, что всё зависит от точки зрения.Считаешь, что всё субъективно? Объективности не существует? :-) hVosttМикросервисы успешно пилили ещё до появления термина «микросервисы»,Как и множество "паттернов", описанных позднее в научно-популярной литературе. :-) hVostt но проблемы начались именно с появлением этого термина, КМК.По сравнению с "проблемами" из-за "паттернов", с микросервисами проблем вообще нет. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 08:14 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
hVosttЯ просто к тому, что всё зависит от точки зрения.Ну тут скорее не точка зрения, а история развития. Или мы закладываем "микросервисность" изначально, или получаем её в результате эволюции. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 08:29 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Алексей КhVosttпропущено... Ага, два или три отдельных приложений, вдруг оказавшись как-то связаны между собой внезапно превращаются в.. микросервисы Оно конечно зависит от способа интеграции, но результат может быть множеством микросервисов в том числе. зы: О таком в популярных блогах не пишут и на молодёжных конференциях не рассказывают. Так что пользуйся случаем, пока я тут. :-) В РЖД задумались об интеграции своего зоопарка в единую систему? И внезапно решили, что у них множество микросервисов? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 09:56 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Алексей КhVosttЯ просто к тому, что всё зависит от точки зрения.Ну тут скорее не точка зрения, а история развития. Или мы закладываем "микросервисность" изначально, или получаем её в результате эволюции. Все дороги ведут в Рим? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 10:05 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
Алексей КСчитаешь, что всё субъективно? Объективности не существует? :-) Я считаю, что объективно, разные приложения -- это разные приложения, а микросервисами их начинают называть, только в контексте некоего единства системы по каким-то признакам. Ну и надо ещё посмотреть на границы, с какого момента приложение перестаёт влазить в термин «микро» Алексей ККак и множество "паттернов", описанных позднее в научно-популярной литературе. :-) Ну да, я об этом и говорю. С появлением паттернов ушло много головной боли с названиями переменных и классов Тут такая же история. Алексей КНу тут скорее не точка зрения, а история развития. Или мы закладываем "микросервисность" изначально, или получаем её в результате эволюции. Ну вот тут и получается, что изначально пилить «микросервисную архитектуру» как-то немного глупо. Она должна вырасти, это по сути процесс развития системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 10:05 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
skyANAсвоего зоопарка в единую систему Ты хотел сказать, эко-систему? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 10:08 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
skyANAИ внезапно решили, что у них множество микросервисов? :)Ну это не они, это я так решил. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 10:50 |
|
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
|
|||
---|---|---|---|
#18+
hVosttНу и надо ещё посмотреть на границы, с какого момента приложение перестаёт влазить в термин «микро» Ну давай введём понятие макросервисная архитектура . Это решит проблему. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.10.2016, 10:52 |
|
|
start [/forum/topic.php?fid=20&fpage=53&tid=1400279]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 413ms |
0 / 0 |