首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何无延迟地从MVC调用Web API?

如何无延迟地从MVC调用Web API?
EN

Stack Overflow用户
提问于 2014-09-17 01:24:09
回答 2查看 586关注 0票数 2

我正在考虑将使用DocumentDb和Azure Table Storage的DAL迁移到单独的Web,并将其作为云服务托管在Azure上。

这样做的主要目的是确保我保持一个高性能的DAL,它可以轻松地独立于我的前端应用程序--目前在Azure上作为云服务运行的ASP.NET MVC5,但我肯定也会添加移动应用程序。使用DocumentDb和Azure Table Storage,我发现自己在C#代码中处理大量数据,因此,我认为将其与前端应用程序分开是一个好主意。

然而,我非常担心从一个云服务到另一个云服务的HTTP调用引入的延迟问题,这将违背将DAL分离到自己的应用程序/云服务中的目的。

在不引入任何延迟问题的情况下,将DAL与前端应用程序分开的最佳方式是什么?

EN

回答 2

Stack Overflow用户

发布于 2014-09-17 02:43:40

我认为横向扩展/分区资源和网络延迟之间的权衡是不可避免的。话虽如此,您可能会发现出于许多原因(例如,启用应用程序任务的并行执行、增强的可靠性等),这种权衡是值得的。在处理大型系统时。

以下是一些通用提示,可帮助您将对网络延迟的影响降至最低:

只要possible.

  • Batch跨服务调用,
  • 就会使用缓存来避免跨服务调用,并尽可能重用连接,以最大限度地降低穿越NAT出一个云服务并通过负载均衡器进入另一个云服务的相关成本。注意-您的应用程序还必须能够处理丢弃的连接(在云architecture).
  • Monitor性能指标中不可避免),以便尽可能多地测量和识别同一数据中心内的应用程序层,以将跨服务延迟保持在最小。

您可能还会发现以下文献很有用:http://azure.microsoft.com/en-us/documentation/articles/best-practices-performance/

票数 2
EN

Stack Overflow用户

发布于 2014-10-09 10:32:28

我最近将我的DAL分成了一个WebAPI,它为MVC网站和移动应用程序提供来自DocumentDB的数据,原因与提问者所述的原因相同。

来自aliuy的声明是通常被接受为良好实践的有效性能考虑因素。

但更具体地说-为了使用Azure云服务无延迟地从MVC调用Web API,应该为每个资源(网站、云服务等)指定相同的亲和组。

Azure亲和性组是一种方法,您可以在

数据中心中根据彼此的接近程度对云服务进行分组,以实现最佳性能。当你创建一个地缘组时,它会让Azure知道让属于你的地缘组的所有服务在物理上尽可能地彼此接近。

https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-migrate-to-regional-vnet/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25874922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档