LAMP与编译二进制文件

时间:2013-01-24 15:30:27

标签: php api rest architecture realbasic

我真的很感激一些简明扼要的建议。

我即将开始一个项目,我们将维护大量的房产数据。

我们打算使用RESTful接口构建应用程序,以便各种客户端可以连接。即网络应用程序,iPhone应用程序,第三方API等。

我们真的希望app / api快速,快速,稳定。

然而,实际上我们只有一定数量的内部技能,并希望确保我们的思维过程朝着正确的方向发展。

我们的核心知识是PHP,所以我们最初的想法是使用Memcached的LAMP堆栈(可能用Postgres替换mysql)。我们也可能会使用Laravel框架。

然而,我们正在考虑在RealBasic中编写软件(类似于VB但是正确的OOP)并创建字节码。这也包括http服务器 - 与apache相比,它都很简单。

后者是否过度杀伤?从长远来看,我们是否正在努力,因为我们自己的http服务器可能永远不会在速度上与apache进行比较。

我真的很感激一些想法。

5 个答案:

答案 0 :(得分:4)

你想要使用REALbasic HTTP服务器的唯一方法就是作为一个位于Apache背后的应用服务器 - 在用编写的一些一起打动的HTTP服务器上运行一个面向公众的网站将是疯狂的愚蠢任何语言 - 所以无论如何你都会混合使用Apache(或Nginx)。

REALbasic在这个角色中可以很好地运作。它编译为机器语言,而不是字节码,您的HTTP服务器将构建在其异步单线程服务器套接字框架上,因此性能通常非常出色。

那就是说,我怀疑它会比缓存(Memcached等)支持的PHP更好,并且PHP是比REALbasic更多,更成熟的Web开发技术,没有任何障碍或如果您尝试使用基于REALbasic的解决方案,可能会遇到的限制。

在这种情况下,我会说PHP是更安全,更好的选择。

(警告:我在写一个基于REALbasic HTTP服务器的网络应用程序休息时写了这个答案,开发只是纯粹的乐趣 - REALbasic是一种可爱的语言。)

答案 1 :(得分:3)

如果那是你内在的技能,我会坚持使用PHP。

总是可以选择使用HipHop编译PHP代码,如果确实需要这种性能的话。

编写自己的Web服务器听起来像一个疯狂的想法 - 如果你的系统上有任何一个软件,那么一个经过良好测试和安全的东西是个好主意,它就是网络服务器。编写自己的文件不太可能像Apache或nginx一样好,即使你把它写得尽可能轻,也几乎肯定会有很大的安全漏洞。

答案 2 :(得分:3)

使用Real Studio创建Web服务器并不是那么疯狂,因为您有很多方法可以解决这个问题,而且您不需要Apache或IIS来执行此操作。您可以创建一个控制台应用程序,其唯一目的是为您的应用程序提供API,或者您可以创建一个也可以提供网页的Web Edition应用程序。这真的取决于你想要在网络方面完成什么。我们已经为许多客户做过这件事,并且对他们来说效果很好。

但是,既然你已经熟悉了PHP,我会坚持你所知道的。学习真正的工作室并不是很难,但它仍然是一个新的技能组合,为你不知道的事情提供了所有必要的障碍。

答案 3 :(得分:2)

您是否有充分的理由撰写自己的网络服务器?如果你不需要Apache的所有花俏,也许你可以选择更小的东西,例如: nginx的。另外,如果你想使用Linux,我会说Basic(或任何方言)不是最好的主意。如果你需要字节码,那么Java可能是更好的选择。

答案 4 :(得分:0)

这肯定不是您内部技能的一部分,但对于快速,轻量级的RESTful API,我强烈推荐ErlangCowboy

Erlang是电信公司用来运行电话硬件的一种功能语言。它具有高度容错性,在我看来,非常具有表现力。它针对并发执行进行了优化,因此您可以轻松获得多线程的所有好处。

Cowboy是为erlang编写的网络服务器。它非常轻巧,高效且易于编码。我使用牛仔为每个数据中心提供大约25,000 RPS(每台机​​器大约1200 RPS)并且它从未让我失望。

如果您不打算使用erlang,最好使用apache或nginx。如果你没有为它编写自己的HTTP服务器(只是处理程序),我只会使用RealBasic。

相关问题