Comments 10
А почему не взяли Orleans? Из всего что вы описали выглядит так, что решение принималось — "потому что это Майкрософт", а не исходя из объективных потребностей проекта и удобств фреймворков.
А тут так много описаний низкоуровневых кейсов, т.е. то что фремворк призван решить и спрятать — он выдает наружу и создает сложности программистам. К тому же можно взгромоздить Orleans на SF в Stateless Worker, хотя мы чем дальше — тем более скептически смотрим на это решение. SF выглядит хорошо в плане возможностей devops, но в плане актеров — Orleans ощутимо впереди. В gitter проекта Orleans народ плачет когда их заставляют переходить на SF...
Ну кстати в сообществе, есть желание сделать глубокую интеграцию с SF, чтобы не было всякого головняка с деплоем и обновлениями. И я знаю что так некоторые делают (и мы тоже возможно соберемся). потому как орлеанс не предоставляет хостинг сам по себе — нужно или в консольке или в вин-сервисе или в клауд сервисе хостить. Там у каждого свой велосипед с обновлениями, кластером и мониторингом здоровья. А СФ именно предлагает полный стек — с хорошей штукой вокруг инфраструктуры и убого скопированной моделью акторов.
Низкоуровневые кейсы это например про описанный сценарий TcpListener. Может я не очень понял для чего такие сложности, хотя видно необходимы без поддержки клиентской подписки. А при наличии стримов — такие коммуникации организовываются очень просто.
TcpListener нужен для ADC, тут без вариантов.
Та же самая схема…
Ну учитывая что орлеанс хост жадный до памяти и CPU чтобы работать наиболее эффективно — засовывать все на одну машину все равно не рекомендуется, что в cloud service, что в SF. Сейчас вы это тоже можете сделать захостив Host или клиента в отдельном AppDomain, примеры есть в тестах. Это даст отсутствие раундтрипа по сети только если клиент обращается к зерну в сило на нем самом. А так — будете также общаться по сети между вебролями.
А теперь представьте кейс когда в SF у вас по какой-то причине на одной машине будет 2-3 сило крутиться и драться за CPU — чем это полезно то? Да, фабрика из коробки прикольная, но все же я бы ставил на орлеанс.
Да, точно, это я смешал со своими размышлениями о потенциальных граблях Орлеанс когда они поверх SF… Мой косяк.
А вы кстати тут упомянуты ? Если нет — отправляйте PR, adoption cases всегда интересны.
а, про Tcp теперь понял, у нас наверное похожая ситуация с вебсокетами — стримы просто сказка для этого...
Azure Service Fabric: вторые шаги