搜索
bottom↓
回复: 17

数据采集项目,tcp连接数限制问题。

[复制链接]

出0入0汤圆

发表于 2016-2-25 21:01:12 | 显示全部楼层 |阅读模式
本帖最后由 dou_yuyu 于 2016-2-25 21:03 编辑

有个数据采集项目,结构是,一台服务下下面有2万左右的传感器。传感器通过tcp连接连接到服务器的同一个端口。以前没弄过,同时要保持2万这样大数量的连接的服务器程序,不知道用什么方式好?以前点数少的是直接udp做的,用tcp什么思路合理呢?关键是要抗住2w连接,当然数据量不是很大的,每个客户端大约1分钟发一个包过来,除去包结构,净荷大约512字节,然后服务器端回复客户端一个512字节的包。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2016-2-25 21:17:18 | 显示全部楼层
一个领导管2万员工太累,下面设两级管理机构

出90入4汤圆

发表于 2016-2-25 21:18:41 | 显示全部楼层
能用断联接吗?

出0入0汤圆

 楼主| 发表于 2016-2-25 21:21:44 | 显示全部楼层
john78 发表于 2016-2-25 21:18
能用断联接吗?

tcp是保持一致保持着连接的,如果连接断掉了,客户端还是需要重新连一下。

出0入0汤圆

 楼主| 发表于 2016-2-25 21:22:30 | 显示全部楼层
NJ8888 发表于 2016-2-25 21:17
一个领导管2万员工太累,下面设两级管理机构

请教下“两级管理机构”是什么意思?不太懂

出0入0汤圆

发表于 2016-2-25 21:24:41 | 显示全部楼层
用HTTP协议试试,没准行.

出0入211汤圆

发表于 2016-2-25 21:28:18 来自手机 | 显示全部楼层
本帖最后由 hushaoxin 于 2016-2-25 21:31 编辑

我觉得问题不太大,我最近在不停的做类似测试,虚拟2000个客户端出来连接很轻松,i3,4g,win7

楼主你写一个虚拟客户端,每个客户端2000链接,让大家帮你测试一下呗

出0入0汤圆

 楼主| 发表于 2016-2-25 21:28:57 | 显示全部楼层
adongliu 发表于 2016-2-25 21:24
用HTTP协议试试,没准行.


http的确是备选方案。应该是可以的。只是传输数据量是不是有点大,http协议是短连接的,要轮询。

出0入211汤圆

发表于 2016-2-25 21:28:59 来自手机 | 显示全部楼层
adongliu 发表于 2016-2-25 21:24
用HTTP协议试试,没准行.

http是短连接,20000那是小意思

出0入0汤圆

发表于 2016-2-25 21:30:29 | 显示全部楼层
不能传感器主动上传和查询吗?

出0入0汤圆

 楼主| 发表于 2016-2-25 21:36:26 | 显示全部楼层
adongliu 发表于 2016-2-25 21:30
不能传感器主动上传和查询吗?

个人理解,用http主动上传应该没问题。问题是查询,以前做网页的时候,都是需要一个触发条件才去查询的,要么是用户动作。要么是定时等,但是这样对现在的应用可能会做大量的无用查询,且实时性不是很强。

出0入0汤圆

发表于 2016-2-25 21:38:26 | 显示全部楼层
正因为多才用http
udp才最好 没有连接开销

出0入0汤圆

 楼主| 发表于 2016-2-25 21:40:40 | 显示全部楼层
hushaoxin 发表于 2016-2-25 21:28
我觉得问题不太大,我最近在不停的做类似测试,虚拟2000个客户端出来连接很轻松,i3,4g,win7

楼主你写一个 ...

服务器还没架设呢。现在只是想请教下大家那种方案成熟可靠,好实现些。

出0入0汤圆

发表于 2016-2-25 21:47:56 | 显示全部楼层
SOCKET 长连接 服务器那边做服务均衡出来 2W 都是小CASE  不过服务器那边架构要做好 我们以前做的平台都是10W 容量 1W 同时在线 3S一包数据 一包100多字节 也可以实现100W 容量 10W同时在线的 不过这个的服务器端的开发都是百万级别的开发费了

出0入0汤圆

 楼主| 发表于 2016-2-25 21:49:10 | 显示全部楼层
gongxd 发表于 2016-2-25 21:38
正因为多才用http
udp才最好 没有连接开销

谢谢,我也觉得是,但是用http协议的话,服务器向传感器推送数据是个麻烦事。udp的话,服务器又没法及时知道传感器在不在线。用tcp吧,这个大数量的连接又没做过,怕用梗塞模式的话会出问题,想用异步有没思路。。

出0入0汤圆

发表于 2016-2-25 21:52:10 | 显示全部楼层
dou_yuyu 发表于 2016-2-25 21:49
谢谢,我也觉得是,但是用http协议的话,服务器向传感器推送数据是个麻烦事。udp的话,服务器又没法及时 ...

tcp 也需要一定时间才可以探测断线的
保持功能需要自己实现的 TCp UDP几秒发心跳包就行

出0入0汤圆

发表于 2016-2-26 09:23:14 | 显示全部楼层
本帖最后由 semonpic 于 2016-2-26 09:24 编辑

就2万不是问题,用NETTY,轻松应对。是异步的,做好心跳检测。你这个应该问题不大。有什么不懂可咨询我,

出60入0汤圆

发表于 2016-3-23 12:51:52 | 显示全部楼层
protobuf-rpc-pro。 应用层架构也有了。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 09:19

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表