【问题标题】:Does WCF NetTcp binding increase coupling?WCF NetTcp 绑定会增加耦合吗?
【发布时间】:2012-12-06 10:43:58
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: wcf rest soap loose-coupling


    【解决方案1】:

    我们担心使用 HTTP 会涉及太多开销,这会增加延迟 建议之一是使用 WCF NetTcp 绑定,它应该性能更高

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

    HTTP 更好,因为已经有很多现成的基础设施可以帮助您在以后需要时进行扩展(如负载平衡、缓存代理等)

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-08
        • 2015-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多