首页新闻找找看学习计划

上千条数据需要winform客户端实时刷新,只有一台服务器,有什么好的解决方案?

0
悬赏园豆:50 [已解决问题] 解决于 2015-10-27 13:00

如题,客户要求数据需要有实时性,这样服务器压力顿时剧增,暂时没想到好的办法

FYeed的主页 FYeed | 初学一级 | 园豆:9
提问于:2015-10-26 21:08
< >
分享
最佳答案
1

你的问题描述得很笼统,很难具体地回答、解决你的问题,我就随便说几句吧。

1、不是S端推就是C端拉,或者推拉一起用,总之应该不算太难解决的问题,网游、端游什么的还有证券什么的等等各种应该场合的条件可能比你这个还复杂,数据量、流量比你的还多,他们都能解决,到了你这里应该一样也能解决。所以,首先就是你不要慌,慢慢梳理头绪肯定能找到办法的。

2、一般的情况下,可以考虑给数据加上“时间戳”或者其它的标记,将数据分段,C端也按照间隔定时刷新请求。

3、思路同上面的Firen一样,就是缓存。我的建议是,做好缓冲池,甚至考虑将不同的用户放入不同的缓冲池当中。简单类比就是像游戏的房间那样类似的概念。然后按照“二八法则”或者你们的具体业务需求,将一部分特别的客户分配到一个更多资源的缓冲池当中。

4、还可以考虑采用P2P的方式,客户端互相分发。

收获园豆:50
柳城之城 | 初学一级 |园豆:70 | 2015-10-27 09:31
其他回答(4)
0

用好缓存。

Firen | 园豆:5483 (大侠五级) | 2015-10-26 21:21
0

1.客户端winform嵌入浏览器,用服务器端推送。

2.服务端有数据更新时才推送,否则不推送。

3.winform的客户端数量不是很大的话(比如几百),服务器一般都无压力。几千条数据除非更新频率快或者更新数据多,应该也没问题。

4.按实际情况考虑是否需要采用队列实现有延迟的完全推送。

刚哥521 | 园豆:320 (菜鸟二级) | 2015-10-27 09:05
0

如果是winform,那可以用socket通信哇。如果喜欢http,也可以用SignalR来实现双工通讯。

幻天芒 | 园豆:36594 (高人七级) | 2015-10-27 09:15
0

上千条数据,我还以为是上千万条数据呢。

带宽、计算能力、编程能力

看看哪个是瓶颈,以及相应的升级成本,计算一个最优解,当然,不利于你的解决方案你可以放弃。

爱编程的大叔 | 园豆:30271 (高人七级) | 2015-10-27 09:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册