metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2015-04-19 11:59 am

Ад дотнета

Тут недавно выпустили akka.net, которая, по идее, сможет решить большую часть проблем с асинхронным обменом сообщениями для моего софта.
Сижу читаю всякое по теме, набрел на такую ссылку: http://www.aaronstannard.com/the-profound-weakness-of-the-net-oss-ecosystem/ - это один из разработчиков akka.net, занимавшийся ее remoting-кишками.

Вкратце: "если на дотнете делать что-то сложное и осмысленное - садись и пиши фреймворки с нуля, потому что индусам и микрософту ничего этого не надо".

Еще одна забавная хрень оттуда же: они подумали и вместо переезда своего приложения с дотнета на jvm, решили спортировать акку с jvm на дотнет. Это только с первого взгляда выглядит странным в рамках религии "мы не занимаемся изготовлением инструментов", но если сравнить приложение со сложной бизнес-логикой, разрабатываемое 2-3-5 лет и фреймворки - может оказаться, что портировать вторые потребует гораздо меньше времени.

[identity profile] anonim-legion.livejournal.com 2015-04-19 04:17 pm (UTC)(link)
>Есть типа IIS, который сложно заставить просто не выключаться

Можете подробнее?

capcha: no-brainer

[identity profile] metaclass.livejournal.com 2015-04-19 04:31 pm (UTC)(link)
Веб-сервисы в IIS живут в отдельном процессе w3wp, который рециклируется (т.е. один воркер процесс закрывается, второй создается по мере надобности).
Вне обработки запроса считается что сервисы никак не существуют, т.к. никакого состояния у них нет.
В приложении, где хостятся сервисы, состояние может быть, но при рестарте воркеров оно теряется, его надо где-то отдельно хранить.

А вещи вроде "раз в 10 минут выполнять какую-нибудь обработку" в таком варианте вообще поместить некуда.

[identity profile] enternet.livejournal.com 2015-04-20 12:45 pm (UTC)(link)
Сгущает он без меры. Необходимость Application Server вообще надумана. Длинные процессы всё равно живут на других машинах, на вебсервере им не место. Но если очень хочется, есть параметры, их можно подкрутить и IIS не будет засыпать.

[identity profile] metaclass.livejournal.com 2015-04-20 01:18 pm (UTC)(link)
А почему бы все в одном процессе не держать? Тем более, что "другие машины" - это уже какой-то энтерпрайз на тыщи человек, на 10-100 хватает одного сервера.

[identity profile] binf.livejournal.com 2015-04-20 06:29 pm (UTC)(link)
не, ну так для маленьких надо делать self-hosted. OWIN например, очень гут

[identity profile] enternet.livejournal.com 2015-04-20 07:15 pm (UTC)(link)
Да ради бога. Только не надо этой фиксации на IIS. Можно уже закопать стюардессу. Пишите под катану (последний MVC) это и майкрософт рекомендует и будет там один негасимый процесс.