适用于高性能Flash / Flex / AIR应用程序的大多数可扩展Web堆栈?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了适用于高性能Flash / Flex / AIR应用程序的大多数可扩展Web堆栈?相关的知识,希望对你有一定的参考价值。

我正在使用Flash通过Flex和AIR进行新的多用户客户端/服务器应用程序的规划阶段。我想确定哪个Web平台/堆栈最适合这个?

我过去使用过RoR,但据我所知,RoR是单线程的,因此不是处理可能数千个并发请求的理想选择。

我已经完成了一些关于Scala和Lift的阅读,这是一个有趣的选择,但我想知道是否还有其他语言/框架可以很好地适用于我的项目?

答案

我不太了解Scala和Lift ......如果你想坚持使用红宝石,请查看merb ...它似乎会与RoR合并,所以你可能只是等待下一个版本.. 。:)

你可能想看看Haxe(一种高级语言,针对许多平台,如AVM1,AVM2,php,c ++等)和neko(一种服务器VM可用作Haxe的编译器目标),以及Haxe远程处理(您可以简单地将您的Haxe网络代码编译为swc并坚持使用AS3 / mxml)... neko可以很好地扩展...它非常轻巧且可扩展...有很多方法可以将它用作服务器平台,但它也允许你从头开始编写所有内容,因为API暴露了低级访问...

编辑:你应该使用mod_tora,因为它的占地面积较小......对于提到的其他事情,只需查看邮件列表......有一个“简单的持久对象数据库”层,可以帮助...也在那里是一些“完整的persitent对象数据库”浮动...和路由,还有多个解决方案...不要忘记检查haxelib ...你可以找到相当多的可重复使用的东西...

另一答案

最近对nginx和Lighty进行了垂直可伸缩性比较:

http://forum.gwan.com/index.php?p=/discussion/525/nginx1.0.6-vs-lighttpd1.4.29-vs-g-wan2.9.30-rpscpuram/

它是否可以使您的应用程序受益取决于许多因素,但考虑到那里涵盖的CPU,RAM和RPS见解,此测试可能有助于确定任何给定案例的最佳匹配。

另一答案

我建议使用lighttpd来提供静态内容。您的AIR应用程序是否应该与我们使用其他Saas站点提供的其他服务所服务的服务器进行交互?如果你想在服务器上保留你的控制器(MVC),那么RoR或Scala或Lift是很棒的。使用AIR,我不认为这是你想要的方式,因为它增加了控制器交互的复杂性,而且你必须在两个地方保持状态。

如果你的客户端/服务器交互模型只是简单地使用REST服务(虽然REST支持在Flex中有点怪,所以你可能需要编写自己的套接字库以支持其他REST动词并获得对头文件的访问权限)然后你的后端服务器变得不那么复杂了。您只需要处理HTTP请求的请求/响应。

好的,我推荐的是什么。

CherryPy for Python Servlets / Jetty for Java

确保选择缓存中间层,例如memcached或tokyotyrant(两者都支持我帖子中提到的所有环境和其他环境)。

以上是关于适用于高性能Flash / Flex / AIR应用程序的大多数可扩展Web堆栈?的主要内容,如果未能解决你的问题,请参考以下文章

Flash, Flex, Air, Flashplayer之间的相互关系是什么

Flash, Flex, Air, Flashplayer之间的相互关系是什么?

Flash, Flex, Air, Flashplayer之间的相互关系是什么?

adobe air vs flex vs flash builder ---我需要解释一下

Flex简述1

使用 javascript 的 flex air 移动通信