我们需要开发一个基于高速REST的WCF服务,它将用于更新2000个数据点,每个数据点以25毫秒的速度变化。是否有可能使用WCF实现如此高速的数据采集
发布于 2013-09-08 01:48:17
使用WCF是的。我不确定REST对于您试图解决的这类问题是不是最好的架构风格。我也想知道HTTP是否合适。
话虽如此,您可能需要研究一下CORE,它是一种在高度受限的环境中应用REST的努力,比如数据采集。
发布于 2013-09-08 14:43:15
我是这样理解您的问题的:您期望每25毫秒或每秒40倍的新数据值。每台设备有2000个离散的数据值,这意味着来自每个设备的遥测流量约为每秒80,000个值。您也有多个设备,因此您的吞吐量将会更高,例如,10个设备每秒更新800,000次。
在这种情况下,我不希望服务层成为约束,原因很简单,通过添加更多主机来接收消息并在它们之间进行负载平衡,始终可以扩展服务层。我所关心的是所有事务都必须在同一域中处理的任何地方。例如,所有这些数据是否都在一个关系数据库中?在这种情况下,您可能会遇到事务吞吐量的问题。
架构中另一个似乎有问题的领域是设备本身。是否有一台设备能够以80 kHz的速度收集和发送值?这就是REST协议可能具有过高开销的地方。因此,设备而不是服务器的约束可能会驱使您寻找更有效的协议。在这种情况下,可能需要直接针对套接字编写自定义协议,但这取决于您的设备。
https://stackoverflow.com/questions/18675992
复制相似问题