我有几辆车每分钟向服务器发送一次数据。服务器应该监听并解码要存储在数据库中的数据。每分钟将有数千个条目。解决这个问题的最佳方法是什么?
答案 0 :(得分:6)
我个人最喜欢的,WCF或WebService服务器场将数据泵送到Microsoft Message Queue(MSMQ),并让应用程序服务器(1个或多个)转换数据并将其放入数据库。
随着您的深入(如果您需要),您可以使用MSMQ的功能来处理超时,加载缓冲,“死信”,服务器故障等等。 Consider this article
在面向Web的一面,因为它是无状态和瘦的,所以你可以轻松地扩展这一层,而无需考虑复杂的负载平衡。您可以使用DNS负载平衡启动,然后在需要时转移到更好的解决方案。
进一步说明,通过使用MSMQ,您还可以通过查看队列中有多少消息来查看系统的“落后”程度。如果那个数字接近0,那你就好了。如果该数字不断上升,则需要更高的性能(添加另一个应用程序服务器)。
答案 1 :(得分:1)
我们正在做Jason所说的,除了使用带有自定义有效负载的直接TCP / UDP套接字侦听器以获得更高的性能。
答案 2 :(得分:0)
您期望每项操作需要多长时间?从您所说的看来,您似乎可以在处理后直接将数据写入数据库,因此您根本不必同步线程(数据库应该为您处理)。