2015-06-11 60 views
1

我目前正在评估NodeJS和微软ASP.NET Web Api的REST Api实现,它将处理大量流量,尽管我可以看到NodeJS如何与各种其他模块和技术一起扩展,但我找不到如何实现的示例用ASP.NET Web Api做同样的事情。扩展ASP.NET Web Api 2.0?

什么是扩展和负载平衡ASP.NET Web Api到多个服务器的最佳方式或技术?

回答

2

您可以向外扩展任何Web Api应用程序,就像使用其他ASP.Net应用程序一样。您基本上拥有两台或更多Web服务器,并具有负载平衡器或流量管理器来处理它们之间的请求。

什么是最好的技术?那么,这是一个选择的问题。

我认为性能瓶颈在数据层。您应该考虑在内存缓存设施(如Redis)中实施某种内容以帮助提高可扩展性。

+1

同样使用新版本.Net的async await模式可以使效率更接近事件驱动的体系结构,如NodeJS和Nginx – Padraic

+1

感谢您的回答。是的,我意识到异步等待模式及其与NodeJS的同等表现。这就是为什么我需要一个负载平衡解决方案,因为这是Web API与Node.js相比的唯一缺点。使用NodeJ,您可以选择Nginx,Varnish HAProxy,Node.js Clusters等选项,这些选项被广泛使用,并且有相当多的示例。 Web Api负载平衡的例子实际上就是我所追求的。 –

+0

您仍然可以使用HAProxy与WebAPI进行负载平衡。它位于Web服务器之前,负载均衡流量。看看SO体系结构,它将多种技术与ASP.Net结合使用 - http://highscalability.com/blog/2011/3/3/stack-overflow-architecture-update-now-at-95-million -page-vi.html – Donal