哪个是构建高负载web api的最佳平台?

时间:2011-04-25 08:24:25

标签: web-services web-applications architecture

我已经阅读了很多关于这个主题的信息,我们即将为未来的项目选择技术,但我还在犹豫。
该项目是通过互联网在便携式设备(例如iPhone)和网络服务器之间传输数据的系统。设备对数据的请求,使用http路由并以JSON格式检索数据 当我们决定使用asp.net mvc应用程序时,我们遇到了来自另一个开发人员的批评者。他们认为,asp.net是用于此类目的的非常缓慢且昂贵的平台 请解释,是不是?如果是,哪个平台会更好? Mb Php?

Added:
每台设备每分钟应发送约40个请求。它可以在某个时刻“在线”达到20.000台设备。

3 个答案:

答案 0 :(得分:2)

不要只谈论技术并与其他开发人员争论。创建一个原型并将其置于实际负载下。这是了解某种技术是否能够处理低压的唯一方法。

其他一切主要基于听说,个人偏好,过时知识,宗教信仰等。

答案 1 :(得分:2)

我认为这有可能是关于哪个框架更好的宗教论点之一。我要说的是,有很多好的框架,而ASP.Net MVC就是其中之一。另外请记住,对于API来说,主要是后面的代码将完全填充功能,例如。 C#。

ASP.NET支持Webforms和MVC,两者都可以完成这项工作。我认为您可以确信C#将能够为您提供所有API需求。它有一个强大的数据层,以及将数据序列化为JSON或XML或两者的各种方法..

按照优先顺序,这就是我选择框架的方式:

技能:我有哪些开发人员技能?选择您将能够轻松开发和维护的框架。

序列化:我的框架能否以最少的工作将数据序列化为JSON和XML。 C#可以用几行代码序列化一个类对象。或者你也可以手动完成,这是我们很多时候都会做的。

数据层:我的数据在哪里,我将如何处理它。通常情况下,您将在其上使用带有某种框架的SQL数据库,例如实体框架,SQL客户端,数据集等。再次使用C#的大量选项。

速度:我不能说我同意C#很慢。 ASP.NET的前端组件有一些开销,但这些可以很容易地进行优化。如果编码正确,单个MVC服务器可以轻松扩展到每天数百万个请求。

我必须强调ASP.NET只是众多好选择中的一个。还有其他很棒的框架,我相信其他人会与他们分享他们的经验。重要的是让你的开发者购买方向,因为他们的热情必须付诸实践。

出于兴趣,他们想要使用哪个框架..?

答案 2 :(得分:1)

避免使用asp.net的一个目标理由是asp.net不能移植到另一个非Windows平台,如Linux。如果您想迁移到Linux,那么asp.net突然变得非常昂贵,因为您将不得不重写大部分软件。