После создания прототипа на IIS & С# решили что гораздо больше бесплатных библиотек и фреймворков для разработки подобных масштабируемых сервисов на Java. Функциональные языки программирования очень хорошо подходят для подобных сервисов, поэтому решили взять Scala. Плюс Scala что она прекрасно работает с Java. Ну и соответсвенно использовалась Akka — тут уже ни о каких .NET речь не могла идти :)
Мы используем Play Framework для самого сервиса. Например, для работы с Mongo используется ReactiveMongo, для работы с Redis — RedisScala. Сам Play предоставляет удобный механиз для написания сервиса, сериализацию в JSON, есть возможность добавлять различные типы аутентификации, использовать кеш, поддержка куков и тд. Для него есть множество плагинов, недавно я добавил механизм бакендов, чтобы можно было постить клипборды в различные бакенды, просто помечая их тегом. Для аутентификации в бакендах используется библиотека Pac4J. Если планируется развитие продукта, то всегда очень важно насколько развиваются фреймворки, использованные в продукте. Play развивается очень динамично, большое комьюнити и тд.
Но вы же тем не менее утверждаете, что «гораздо больше бесплатных библиотек и фреймворков для разработки подобных масштабируемых сервисов на Java». Вот и хотелось бы узнать, чего вам не хватило в .net.
Да, а еще вы пишете, что «использовалась Akka — тут уже ни о каких .NET» — хотя есть akka.net.
под последней фразой «использовалась Akka — тут уже ни о каких .NET» имелось в виду, что раз была выбрана Scala + Java, то было бы странно использовать с ними Akka.NET
Не готов спорить по поводу фреймворков и приводить какие-то плюсы и минусы .NET и Java (опыт разработки сервисов на .NET у меня небольшой и он касался в основном очень простых сервисов на WCF). Мое субъективное мнение, что выбор инструментов для создания серьёзных сервисов на Java/Scala больше и больше крупных компаний которые строят свои сервисы на Java. В начале разработки мы изучали, к примеру, стек технологий которые использовались в Twitter — я упоминал эту статью
О, спасибо за ссылку на Orleans, я его как-то упустил из внимания.
У akka.net есть то достоинство, что у оригинальной акки уже есть достаточно большое сообщество с наработанными шаблонами, которые легко переносимы и применимы.
Создание масштабируемого распределенного приложения с нуля