2015-06-11 84 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