我正在使用Flash通过Flex和AIR进行新的多用户客户端/服务器应用程序的规划阶段。我想确定哪个Web平台/堆栈最适合这个?
我过去使用过RoR,但据我所知,RoR是单线程的,因此不是处理数千个同时请求的理想选择。
我已经完成了一些关于Scala和Lift的阅读,这是一个有趣的选择,但我想知道是否有其他语言/框架可以很好地适用于我的项目?
答案 0 :(得分:1)
我不太了解Scala和Lift ...如果你想坚持使用红宝石,请查看merb ......它似乎会与RoR合并,所以你可能只是等待下一个版本...:)
您可能需要查看Haxe(一种针对许多平台的高级语言,如AVM1,AVM2,PHP,c ++等)和 neko (服务器) VM可用作Haxe的编译器目标,以及Haxe远程处理(您可以简单地将您的Haxe网络代码编译为swc并坚持使用AS3 / mxml)... neko可以很好地扩展...它很轻可扩展...有很多方法可以将它用作服务器平台,但它也允许你从头开始编写所有内容,因为API暴露了低级访问...
修改强>: 你应该使用mod_tora,因为它的占用空间较小......对于提到的其他内容,只需查看邮件列表......有一个“简单的持久对象数据库”层,可以帮助...还有一些“完整的persitent对象数据库”浮动...并且对于路由,也有多种解决方案...不要忘记查看haxelib ...你可以找到相当多的可重用东西......
答案 1 :(得分:1)
最近对Nginx和Lighty进行了垂直可伸缩性比较:
它是否能使您的应用程序受益取决于许多因素,但鉴于其中涵盖的CPU,RAM和RPS见解,此测试可能有助于确定任何给定案例的最佳匹配。
答案 2 :(得分:0)
我建议使用lighttpd来提供静态内容。您的AIR应用程序是否应该与我们使用其他Saas站点提供的其他服务所服务的服务器进行交互?如果你想在服务器上保留你的控制器(MVC),那么RoR或Scala或Lift是很棒的。使用AIR,我不认为这是你想要的方式,因为它增加了控制器交互的复杂性,而且你必须在两个地方保持状态。
如果你的客户端/服务器交互模型只是简单地使用REST服务(虽然REST支持在Flex中有点怪,所以你可能需要编写自己的套接字库以支持其他REST动词并获得访问权限。标题)然后你的后端服务器变得复杂得多。您只需要处理HTTP请求的请求/响应。
好的,我会推荐的。
CherryPy for Python Servlets / Jetty for Java
确保选择缓存中间层,例如memcached或tokyotyrant(两者都支持我帖子中提到的所有环境和其他环境)。