如何实现WCF服务器在发布订阅场景下的低延迟?具体来说,客户端订阅数据并接收更新,所讨论的延迟是在数据更改和客户端接收更改之间?CPU、内存、带宽要求并不重要,而且可能很高。

基础知识很明显:二进制序列化、命名管道等。但是,例如,通过始终连接的流发送数据有意义吗?或者将批量更新作为单个消息发送以减少 RPC/标头开销?

可能有一些带有代码或接口的项目可以用作示例?

有帮助吗?

解决方案

不是一个全面的解决方案,但是:要减少与数据大小和网络传输速度相关的延迟,您可以使用 谷歌协议缓冲区 通过网络压缩数据。GitHub 项目是 这里.

其他提示

如果您使用的是双工信道,可以让客户端连接到服务器,并在此过程中通过另一种服务合同的回调。然后,服务器使用此回调将更新发送到客户端,因为它们变得可用。

我使用这种方法已经写了一个内部的发布 - 订阅机制和等待时间大约是低,你会通过WCF预期可能。

什么是你的目标性能?

这MSDN文章讨论使用WCF双工信道。

你有没有看

http://geekswithblogs.net /BVeldhoen/archive/2008/01/26/wcf-latency-test-harness.aspx

它考虑到各种绑定,和数据大小。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top