2012-12-06 27 views
1

目前我們已經使用SOAP或更普通的類似HTTP REST的方法創建了Web API。同時有多種方式讓服務器和客戶端獨立進化,我認爲這是一個很大的優勢。WCF NetTcp綁定是否會增加耦合?

其中一個主要的缺點是在使用HTTP時會涉及一些開銷。我們計劃增加使用服務API來公開數據,而不是直接訪問數據庫的應用程序。我們擔心使用HTTP將涉及太多的開銷,這會增加延遲。當然,我們可以利用緩存,但這也會增加複雜性。

一個建議是使用WCF NetTcp綁定,這應該是更高性能的。我很擔心,如果我們選擇這項技術,我們可能會失去REST的好處:能夠獨立發展服務器和客戶端。我認爲我們會以緊密耦合爲代價提高性能。

我的問題如下:使用WCP NetTcp綁定,是否仍有可能在不更新所有客戶端的情況下發展您的API?換句話說:當使用這種綁定時,客戶端和服務器之間可以期望什麼程度的耦合?

回答

1

我們擔心使用HTTP會牽扯太多的開銷,這會增加延遲 其中一個建議是使用WCF NetTcp結合,這應該是更高性能的

誰說那?請他們向您展示基準,因爲我沒有看到TCP如何提高性能。當然,它使用二進制協議,但服務器中的業務邏輯可能是瓶頸,而不是實際的轉移。

HTTP要好得多,因爲已經有很多準備使用的基礎設施,這將有助於如果需要的話您縮放後的(如負載均衡,高速緩存代理等)

0

我相信你要使用的綁定取決於誰是服務的消費者。 如果您已經有客戶端使用REST HTTP Client或具有特定綁定的SOAP,切換到Net TCP仍需要對已使用該服務的所有客戶端進行服務更新。 因爲HTTP已經有很多可用的基礎設施,所以在切換綁定時我看不到太多價值。