WCF NetTcp绑定是否会增加耦合?

时间:2012-12-06 10:43:59

标签: wcf rest soap loose-coupling

目前,我们使用SOAP或更简单的类似REST REST的方法创建了Web API。与此同时,有多种方法可以让服务器和客户端或多或少地独立发展,我认为这是一个很大的优势。

其中一个主要缺点是使用HTTP会涉及一些开销。我们计划增加使用服务API来公开数据而不是直接访问数据库的应用程序。我们担心使用HTTP会涉及太多开销,这会增加延迟。当然我们可以使用缓存,但这也会增加复杂性。

其中一个建议是使用WCF NetTcp绑定,它应该更高效。我担心如果我们选择这种技术,我们可能会失去REST的好处:能够独立地发展服务器和客户端。我认为我们会以紧耦合为代价提高性能。

我的问题如下:使用WCP NetTcp绑定,是否仍然可以在不更新所有客户端的情况下发展您的API?换句话说:在使用此绑定时,我们可以在客户端和服务器之间达到何种程度的耦合?

2 个答案:

答案 0 :(得分:1)

  

我们担心使用HTTP会涉及太多开销,这会增加延迟   其中一个建议是使用WCF NetTcp绑定,这应该是更高效的

谁说的?让他们向你展示基准,因为我没有看到TCP如何提高性能。当然它使用二进制协议,但服务器中的业务逻辑可能是瓶颈,而不是实际的传输。

HTTP要好得多,因为已经有很多可以使用的基础架构,可以帮助您在需要的时候进行扩展(如负载平衡,缓存代理等)

答案 1 :(得分:0)

我认为您要使用的绑定取决于谁是该服务的使用者。 如果您已经有客户端使用REST HTTP Client或具有特定绑定的SOAP,则切换到Net TCP仍需要对已使用该服务的所有客户端进行服务更新。 由于HTTP已经有很多可用的基础设施,我认为切换绑定没有多大价值。