【问题标题】:Which is the best platform to build highly loaded web api? [closed]哪个是构建高负载 web api 的最佳平台? [关闭]
【发布时间】:2011-08-12 04:55:40
【问题描述】:

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

Added:
每台设备每分钟应该发送大约 40 个请求。一次最多可以有 20.000 台设备“在线”。

【问题讨论】:

  • 这种问题太主观了。你没有给出精确的要求,所以几乎任何人最喜欢的框架都符合要求。

标签: web-services web-applications architecture


【解决方案1】:

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

【讨论】:

  • 目标 - 是的;但不一定回答问题的“高负荷”部分。当然,在 Linux 上横向扩展许可可能会更便宜。
  • 近十年后的今天,.NET core 是可移植的并且在 linux 服务器上运行速度非常快。
【解决方案2】:

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

其他一切主要基于听到的说法、个人喜好、过时的知识、宗教信仰等。

【讨论】:

  • 谢谢,科多。也许我们会在实际工作之前尝试构建一些工作原型。但是你能做出快速的假设,什么会更好/更快?
  • 从您的简短描述中很难理解,因为您没有详细说明服务器必须做什么。是否涉及数据存储?它只是 JSON 还是一些 HTML?是否涉及访问其他服务和服务器?它是否涉及客户端之间的一些消息传递?从非常简短的描述中我会说:负载不是微不足道的,但可以使用 ASP.NET 或 Java 技术。而“asp.net 很慢”当然是一种非常有偏见的观点。
【解决方案3】:

我认为这有可能成为关于哪个框架更好的宗教争论之一。我要说的是那里有很多好的框架,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 只是众多不错的选择之一。还有其他很棒的框架,我相信其他人会与他们分享他们的经验。让您的开发人员接受这个方向很重要,因为他们的热情必须投入其中。

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

【讨论】:

  • 伟大的戴夫,谢谢。我们讨论了 PHP 和 Ruby on Rails,但我敢肯定,系统将增长得非常快,如果我们选择其中之一,支持它会变得更加困难。所以,我现在考虑的是 asp.net mvc。
  • PHP 和 Ruby 也都非常好。如果你在其中任何一个方面都有很强的开发技能,那么你绝对应该考虑它们。..
猜你喜欢
  • 2010-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-24
  • 2010-09-08
相关资源
最近更新 更多