Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен. / 25 сообщений из 155, страница 1 из 7
10.10.2016, 16:57
    #39323909
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Привет.
У меня непонимание. Какой смысл от микросервисной архитектуры, насколько это должно быть МИКРО ?
Разве подход, когда части приложения общаются между собой по сети (через REST, если говорить о микросервисах) не усложняет систему ? Не тормозит ее ? Ведь тут добавляется сложность в виде сетевого слоя.
Нужно ли, к примеру, логгирование, выделять в отдельный микросервис ? И что, если процессор выполняет 1000 операций за 1 секунду, он должен организовать 1000 сетевых запроса в логгер ? Но это опять таки к вопросу о том, насколько МИКРО они должны быть тогда.

Как я вообще мыслю. Имеем систему. она состоит их различных блоков, выполненых в виде отдельных DLL. Эти DLL крайне минимально взаимодуйствуют между собой. Самый максимум связи, это UserId у Document. Т.е. не ссылка на класс User, чтобы не нужно было связывать сборки. Как такую систему разбить на микросервисы, что куда уйдет ? Или все это будет одним микросервисом ? Ну тогда какой же он микро... не понимаю.

Помогите, приведите пожалуйста примеры, на словах, какой-то системы состоящей из микросервисов. Объясните какие там микросервисы должны быть. И в чем, собственно, выгода. Обязательно ли, чтобы взаимодействие между ними было сетевым, или разные DLL тоже можно назвать микросервиса - если мы в каждой DLL создадим классы userSerivece, documentService ?
...
Рейтинг: 0 / 0
10.10.2016, 17:16
    #39323921
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Нормальная практика это чтобы весь микросервис помещался в голову одного человека. К примеру некоторые из микро сервисов в моей системе:
отправка писем
отправка смс
геосервис(метоположение по координатам или по айпи итд)
метамодель
ботсервисы(телеграм, фейсбук)
кролер
генератор уникальных ключей(отдает строки по заданному алфавиту заданной длинны гарантированно уникальные в контексте указанного дискриминатора)
преобразователь курсов валют (конвертирует валюты)
рассыльщик уведомлений(когда какому клиенту какое письмо послать)

и прочие
...
Рейтинг: 0 / 0
10.10.2016, 18:24
    #39323964
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Denis.,

ну и супер. Я такое обычно делаю в виде отдельного проекта, в виде DLL. Потом можно подключить куда-то, и вызывать примерно так
Код: c#
1.
2.
var service = new MailSenderService();
service.Send(...)



У меня возникает не понимание сути микросервисов. Обязательно ли они должны быть разделены сетевым слоем? Если это просто DLLка которая лежит тут же в проекте, это не микросервис что-ли ? Чтобы она стала "микросервисом" нужно поднять отдельный сервер, в котором будет реализован прием сетевых сообщений на предмет отправки почты + класс-шлюз (чтобы я в клиенте мог писать простой код вида MailSender.Send) + слой обработки ошибок, в том числе сетевых?

Потрясающе. И где же тут тогда Микро ? Если это Микро, то как называется, когда просто в виде DLL ?
...
Рейтинг: 0 / 0
10.10.2016, 18:46
    #39323978
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Denis.,

И еще тогда вопрос. Вот эта куча микросервисов, это столько WinService должно висеть ?

А как быть с версионностью, если нужно допилить сервис, но другие клиенты не должны из-за этого менять у себя что-то. Что ж нам, придется держать на машине WinService'ы вида:
MailSender1.1_ForProject1.exe
MailSender1.1_ForProject2.exe
MailSender2.5_ForProject2.exe
?

У себя я делаю просто. У меня в Solution находятся буквально своя индивидуальные копия MailSender DLL.
Когда стартует новый проект, и ему нужен такой-же функционал, то я просто копирую проект DLL в этот солюшен. Там он дальше живет, эволюционирует - может потом сильно отойти от родительского варианта. Да, в итоге мы получаем некоторое дублирование, но зато нет особых проблем с версионностью - проект живет только со своей версией вспомогательной библиотеки. Меняется проект, меняется и библиотека.

Главное, что у меня нету сетевого взаимодействия. Я не понимаю в чем его смысл, ведь это ведет к усложнению разработки (нужено разработать слой доступа) + сложности конфликтов версионности.

Может я не дорос до таких сложностей. Но вот хочется разобратся, как правильно создавать проекты используя микросервисы. Пока не вижу плюсов, вижу только минусы.
...
Рейтинг: 0 / 0
10.10.2016, 19:32
    #39324014
Denis.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Преимуществ полно, хотя и недостатки есть.
Главные преимущества для меня - простота развертывания, и скорость разработки.
Мне не нужно тестировать и перевыклдывать кучу проектов при изменении одного. Также мне просто делегировать задачи разработчикам и не переживать что они недостаточно компетентны. Как только ты будешь писать более менее объемную систему, причем задача будет делать это быстро, а не как в типичном корп. секторе, ты сразу все поймешь.
Вот есть у меня проект, допустим по фрилансу. С одной стороны у меня куча заказчиков, с другой куча исполнителей. С одних я беру рубли, другим я плачу баксы. Мне нужен сервис который конвертирует из одной валюты в другую. Если он живет дллкой, то тебе придется перевыкладывать оба продукта при изменении сервиса(например ты брал курсы ЕЦБ, а решил брать ЦБ). Паблиш большого проекта на прод - это боль и страх и много заморочек, даже с ci. Оба эти продукта тоже находятся в разработке, потому тебе скорее всего не просто будет взять и выложить их, да еще одновременно. Если же они берут данные по контракту с удаленной тачки через шину сообщений, то все становится гораздо проще. Тебе не нужно перевыкладывть оба продукта, тебе не страшен даунтайм микросервсиа, ты скорее всего не наделаешь там ошибок так как там тривиальный код, ты можешь поручить создание этого сервиса новичку и если сервис плохо сделан - просто выкинуть его, он не затронет никакие части системы. Или, к примеру, сервис должен иметь очень широкий интернет канал, или юзает много процессорного времени, тебя тоже это не волнует так как ты можешь заскейлить каждый сервис отдельно.
Главное не делай так чтоб микро сервисы лазили не в свою базу, и будет норм.
...
Рейтинг: 0 / 0
10.10.2016, 20:39
    #39324051
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Denis.,
Хм. Ну в данном примере выходит контракт не поменялся. А ведь при разработке как раз и получается, что все эти сервисы живут и развиваются, т.е. так и так менять и клиента и сервер.

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

В общем пока не понял выгоды микросервисов :(
...
Рейтинг: 0 / 0
11.10.2016, 01:05
    #39324124
Addx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
ProBiotek,
если непонятно, зачем нужно общение по сети, то не нужно заморачиваться.
Глупо делать из принципа "шоб на микросервисах".
И DLL ну никак не альтернатива микросервисам, это вообще совсем из другой области, а то получим С++ vs MySQL.
Тут задачи уровня "шина данных" vs "микросервисы".
...
Рейтинг: 0 / 0
11.10.2016, 02:11
    #39324139
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
ProBiotekУ меня непонимание.
у тебя реальная задача - есть?
...
Рейтинг: 0 / 0
11.10.2016, 11:23
    #39324319
ProBiotek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Изопропил,

Да задач то полно, всегда.
У меня непонимание того, что такое молоток, когда от него выгода, и когда им пользоваться. А вы меня спрашиваете, есть ли у меня задачи для молотка.
Я сам задаю себе этот вопрос, есть ли у меня задачи для микросервиса ) Но не зная для чего они нужны я не могу решить, есть ли у меня для них задачи.

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

Только в этом их плюс, или еще что то есть ? Раньше сказали про простоту деплоя, но про это я все же не понял. Если контракт изменится, то так и так все передеплоивать - не говоря о том, что наоборот все усложнится, т.к. из шины данных задачу сможет взять как обновленный сервис, так и старый. Т.е. придется еще заморачиватся с версионностью данных.
...
Рейтинг: 0 / 0
11.10.2016, 11:38
    #39324336
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
ProBiotekDenis.,

ну и супер. Я такое обычно делаю в виде отдельного проекта, в виде DLL. Потом можно подключить куда-то, и вызывать примерно так
Код: c#
1.
2.
var service = new MailSenderService();
service.Send(...)

Как подключить дотнетную DLL к серверу приложений, работающему под, например, z/OS + WebSphere ?
...
Рейтинг: 0 / 0
11.10.2016, 11:39
    #39324337
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
ProBiotek,

Микросервисы -- способ наращивать функциональность системы так, чтобы реализации новых функций были независимы друг от друга. Это подходит далеко не для всех типов проектов, просто по сути.
...
Рейтинг: 0 / 0
11.10.2016, 11:43
    #39324342
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
hVosttProBiotek,

Микросервисы -- способ наращивать функциональность системы так, чтобы реализации новых функций были независимы друг от друга. Это подходит далеко не для всех типов проектов, просто по сути.+ исторически могло сложиться так, что существовало несколько независимых ИС, а теперь пришло время их интегрировать между собой.
...
Рейтинг: 0 / 0
11.10.2016, 11:55
    #39324355
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Алексей К+ исторически могло сложиться так, что существовало несколько независимых ИС, а теперь пришло время их интегрировать между собой.

Ага, два или три отдельных приложений, вдруг оказавшись как-то связаны между собой внезапно превращаются в.. микросервисы
...
Рейтинг: 0 / 0
11.10.2016, 14:07
    #39324508
Addx
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Смешались в кучу кони, люди ...
В смысле, микросервисы, шины, приложения, DLL.
Откуда тут может быть понимание?
...
Рейтинг: 0 / 0
12.10.2016, 06:55
    #39324963
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
hVosttАлексей К+ исторически могло сложиться так, что существовало несколько независимых ИС, а теперь пришло время их интегрировать между собой.

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

зы: О таком в популярных блогах не пишут и на молодёжных конференциях не рассказывают. Так что пользуйся случаем, пока я тут. :-)
...
Рейтинг: 0 / 0
12.10.2016, 06:58
    #39324964
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
AddxСмешались в кучу кони, люди ...
В смысле, микросервисы, шины, приложения, DLL.
Откуда тут может быть понимание?Информационная система может быть разделена на функциональные модули различными способами. В том числе с помощью "микросервисы, шины, приложения, DLL".
...
Рейтинг: 0 / 0
12.10.2016, 07:36
    #39324971
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Алексей КОно конечно зависит от способа интеграции, но результат может быть множеством микросервисов в том числе.

Я просто к тому, что всё зависит от точки зрения. Микросервисы успешно пилили ещё до появления термина «микросервисы», но проблемы начались именно с появлением этого термина, КМК.
...
Рейтинг: 0 / 0
12.10.2016, 08:14
    #39324979
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
hVosttАлексей КОно конечно зависит от способа интеграции, но результат может быть множеством микросервисов в том числе.

Я просто к тому, что всё зависит от точки зрения.Считаешь, что всё субъективно? Объективности не существует? :-)
hVosttМикросервисы успешно пилили ещё до появления термина «микросервисы»,Как и множество "паттернов", описанных позднее в научно-популярной литературе. :-)
hVostt но проблемы начались именно с появлением этого термина, КМК.По сравнению с "проблемами" из-за "паттернов", с микросервисами проблем вообще нет. :-)
...
Рейтинг: 0 / 0
12.10.2016, 08:29
    #39324986
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
hVosttЯ просто к тому, что всё зависит от точки зрения.Ну тут скорее не точка зрения, а история развития. Или мы закладываем "микросервисность" изначально, или получаем её в результате эволюции.
...
Рейтинг: 0 / 0
12.10.2016, 09:56
    #39325034
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Алексей КhVosttпропущено...


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

зы: О таком в популярных блогах не пишут и на молодёжных конференциях не рассказывают. Так что пользуйся случаем, пока я тут. :-)
В РЖД задумались об интеграции своего зоопарка в единую систему? И внезапно решили, что у них множество микросервисов? :)
...
Рейтинг: 0 / 0
12.10.2016, 10:05
    #39325039
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Алексей КhVosttЯ просто к тому, что всё зависит от точки зрения.Ну тут скорее не точка зрения, а история развития. Или мы закладываем "микросервисность" изначально, или получаем её в результате эволюции.
Все дороги ведут в Рим?
...
Рейтинг: 0 / 0
12.10.2016, 10:05
    #39325040
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
Алексей КСчитаешь, что всё субъективно? Объективности не существует? :-)

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

Ну и надо ещё посмотреть на границы, с какого момента приложение перестаёт влазить в термин «микро»


Алексей ККак и множество "паттернов", описанных позднее в научно-популярной литературе. :-)

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

Алексей КНу тут скорее не точка зрения, а история развития. Или мы закладываем "микросервисность" изначально, или получаем её в результате эволюции.

Ну вот тут и получается, что изначально пилить «микросервисную архитектуру» как-то немного глупо. Она должна вырасти, это по сути процесс развития системы.
...
Рейтинг: 0 / 0
12.10.2016, 10:08
    #39325043
hVostt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
skyANAсвоего зоопарка в единую систему

Ты хотел сказать, эко-систему?
...
Рейтинг: 0 / 0
12.10.2016, 10:50
    #39325091
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
skyANAИ внезапно решили, что у них множество микросервисов? :)Ну это не они, это я так решил. :-)
...
Рейтинг: 0 / 0
12.10.2016, 10:52
    #39325093
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен.
hVosttНу и надо ещё посмотреть на границы, с какого момента приложение перестаёт влазить в термин «микро» Ну давай введём понятие макросервисная архитектура . Это решит проблему. :-)
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / В чем смысл микросервисов ? Ведь это же усложняет и тормозит обмен. / 25 сообщений из 155, страница 1 из 7
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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