микросервисы в дотнете

User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

микросервисы в дотнете

Post by OtherSide »

Сейчас вижу микросервисы очень модные. суют везде где только можно
Но сам еще с ними не работал
Ну там как бы понятно что идея в том, что хостится сразу куча мелких серверов с get/put/pull/delete запросами

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

че то не верится что это все ручками делают
User avatar
olegy
Уже с Приветом
Posts: 2181
Joined: 07 Nov 2000 10:01
Location: San Diego, CA, USA

Re: микросервисы в дотнете

Post by olegy »

Например Azure functions - микросервисы по определению.
Function отработала свое и все. Если надо, что то дальше делать - посылается message на другую функцию или в event grid/ service bus.
Тоже самое - если запрос тяжелый (много времени и ресурсов надо) - дробится и отравляется как messages на другие функции.
Я гражданин Украины, киевлянин и я против хунты!
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: микросервисы в дотнете

Post by OtherSide »

Так вопрос в том как эти функции кошерно вызывать
User avatar
olegy
Уже с Приветом
Posts: 2181
Joined: 07 Nov 2000 10:01
Location: San Diego, CA, USA

Re: микросервисы в дотнете

Post by olegy »

OtherSide wrote: 11 Nov 2021 16:28 Так вопрос в том как эти функции кошерно вызывать
Типа так https://www.c-sharpcorner.com/article/h ... ing-azure/
Пример старый (там все static - щас уже с DI можно), но идею получить можно
Я гражданин Украины, киевлянин и я против хунты!
XAOC
Уже с Приветом
Posts: 1650
Joined: 26 Jan 2006 20:42

Re: микросервисы в дотнете

Post by XAOC »

С такими вопросами - вон из профессии
Andriy777
Уже с Приветом
Posts: 1575
Joined: 28 Jan 2002 10:01

Re: микросервисы в дотнете

Post by Andriy777 »

Раньше была Service Fabric. Она в принципе и сейчас есть и используется. Народ мечется между ней и Kubernetes.
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: микросервисы в дотнете

Post by OtherSide »

Andriy777 wrote: 11 Nov 2021 18:11 Раньше была Service Fabric. Она в принципе и сейчас есть и используется. Народ мечется между ней и Kubernetes.
Кубернетис я смотрю что управляет контейнерами. Т.е. с уже откомпилированными сервисами.

А вопрос внутри сервисов есть ли красивый, модный путь делать вызовы к другим сервисам, кроме прямого http запроса?
Ну типа как в WCF есть волшебная кнопочка, которая все просканирует и на выходе даст интерфейс, который на человеческом c# передает параметры и возвращает результат

Например у меня есть get зарос, который на вход передает фотку и предположим углы поворота, а на выходе тоже фотку. И что бы оно все там само додумал что и как и я через имплементацию метода интерфейса вызывало типа Image outImage = getImageRotated(Image, angle);
А всю рутину типа установить соединение, сформировать из параметров get запрос и т.д. само сделало
Andriy777
Уже с Приветом
Posts: 1575
Joined: 28 Jan 2002 10:01

Re: микросервисы в дотнете

Post by Andriy777 »

Сначала нужно определиться с тем, что могло бы быть стандартом и источником для клиент-генераторов. Скорее всего это swagger-rest-api-documentation. Затем можно поискать инструменты генерирующие клиентов. Что-то типа этого

https://stackoverflow.com/questions/359 ... r-1-2-spec

Но нужно еще чтобы сервер-пацаны сгенерировали этот swagger из своего детища. Еще можно поискать инструменты генерирующие swagger документацию из какого-нибудь log-а HTTP запросов. А log записать манипулируя чем-нибудь типа browser.
Andriy777
Уже с Приветом
Posts: 1575
Joined: 28 Jan 2002 10:01

Re: микросервисы в дотнете

Post by Andriy777 »

Oleg-NY
Уже с Приветом
Posts: 2481
Joined: 16 Jul 2004 00:32
Location: NY, NY

Re: микросервисы в дотнете

Post by Oleg-NY »

olegy wrote: 11 Nov 2021 16:27 Например Azure functions - микросервисы по определению.
Function отработала свое и все. Если надо, что то дальше делать - посылается message на другую функцию или в event grid/ service bus.
Тоже самое - если запрос тяжелый (много времени и ресурсов надо) - дробится и отравляется как messages на другие функции.
По какому такому определению?
И с каких пор коцепция микросервисов имеет отношение к "тяжести" запроса и "много времени и ресурсов надо"? Т.е. у вас тоже микросервис ассоциируется с размером? ;)
Azure functions - это просто механизм, с помощью которого можно сваять как микро-, так и монолитик сервис. Само по себе использование Azure functions еще ничего не гарантирует. Фортран-программу, как известно, можно написать на любом языке! ))
User avatar
olegy
Уже с Приветом
Posts: 2181
Joined: 07 Nov 2000 10:01
Location: San Diego, CA, USA

Re: микросервисы в дотнете

Post by olegy »

Oleg-NY wrote: 14 Nov 2021 23:16
olegy wrote: 11 Nov 2021 16:27 Например Azure functions - микросервисы по определению.
Function отработала свое и все. Если надо, что то дальше делать - посылается message на другую функцию или в event grid/ service bus.
Тоже самое - если запрос тяжелый (много времени и ресурсов надо) - дробится и отравляется как messages на другие функции.
По какому такому определению?
И с каких пор коцепция микросервисов имеет отношение к "тяжести" запроса и "много времени и ресурсов надо"? Т.е. у вас тоже микросервис ассоциируется с размером? ;)
Azure functions - это просто механизм, с помощью которого можно сваять как микро-, так и монолитик сервис. Само по себе использование Azure functions еще ничего не гарантирует. Фортран-программу, как известно, можно написать на любом языке! ))
По тому определению, что они serverless (изолированы) и ограничены по времени - максимум 2 минуты для HTTP триггера, 10 минут для всех остальных (если только не на самых высоких планах)
Учите матчасть.
Я гражданин Украины, киевлянин и я против хунты!
User avatar
Komissar
Уже с Приветом
Posts: 65206
Joined: 12 Jul 2002 16:38
Location: г.Москва, ул. Б. Лубянка, д.2

Re: микросервисы в дотнете

Post by Komissar »

два олежика - а вот и не поссоритесь!
usual_suspect
Уже с Приветом
Posts: 244
Joined: 19 Dec 2021 05:24

Re: микросервисы в дотнете

Post by usual_suspect »

OtherSide wrote: 11 Nov 2021 16:08 Сейчас вижу микросервисы очень модные. суют везде где только можно
Но сам еще с ними не работал
Ну там как бы понятно что идея в том, что хостится сразу куча мелких серверов с get/put/pull/delete запросами

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

че то не верится что это все ручками делают
Message queueing
Image
User avatar
liamkin
Уже с Приветом
Posts: 2601
Joined: 19 Jun 2003 20:22
Location: USA

Re: микросервисы в дотнете

Post by liamkin »

OtherSide wrote: 11 Nov 2021 16:08 Сейчас вижу микросервисы очень модные. суют везде где только можно
Но сам еще с ними не работал
Ну там как бы понятно что идея в том, что хостится сразу куча мелких серверов с get/put/pull/delete запросами

Но пока что то не въехал а как приянто между сервисами коммуницировать.
В том то и смысл - что через http(s)
Тогда, теоретически, вы можете иметь много команд разрабов, которые каждые пишут свой мелко-сервиз, и ни от кого не зависят. Или, к примеру, вы уволили надоевших дармоедов-разрабов и наняли новую команду - тогда тоже микросервизы рулят.
Если же команда одна и не очень большая, дружная, не хотят увольняться - то мелкосервизы проигрывают. Тормозят. Жрут кучу ресурсов. Все их гнилое нутро выходит наружу.
:mrgreen:
User avatar
OtherSide
Уже с Приветом
Posts: 17361
Joined: 01 Mar 2008 15:14

Re: микросервисы в дотнете

Post by OtherSide »

Вопрос был какая обертка для этого дела используется. Не прямые же запросы https
Типа WCF что то должно быть

Return to “Вопросы и новости IT”