1

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

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

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

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

4

2 回答 2

1

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

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

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

于 2013-03-12T11:53:00.023 回答
0

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

于 2013-05-31T20:07:24.133 回答