道儿哥 2019-11-29 14:55 采纳率: 0%
浏览 1636

netty-socket-io瞬间连接量太大

基于netty的socket-io的方式做一个客户端和服务端实时通讯的功能,当我们的系统重新部署之后,原先保持的连接肯定都断开-->重新连接服务端,那么服务端肯定有收到大量的连接请求,服务端又刚刚启动;所以有以下两个问题:

1.socket-io 基于普通的服务器最多能连接多少?

2.socket-io针对服务部署后客户端瞬时大量重新连接应该怎么处理?

3.有神没有什么预热的方式,缓解系统的一部分压力,防止系统宕机崩溃?

希望各位能够帮忙。

  • 写回答

1条回答 默认 最新

  • JFree_Wolf 2019-11-29 16:32
    关注

    用netty做过服务器,socket-io没怎么研究过,从netty的角度出发,第一设点置SO_BACKLOG参数和Linux内核somaxconn值尽量的大,这两个值主要限制连接请求队列大小,如果不大你瞬时进来很多请求,一旦队列满了后面的请求会被拒绝掉。第二点,在客户端重连机制中修改如果第一次重连失败,让他随即等待几秒,比如重连次数3次,每次多等待1-3秒直到成功。保证连接不瞬时冲向服务器。第三点如果真的客户端太多了,可以再发起请求前加个缓存机制。比如redis设置一个list,list长度控制在1000,客户端请求连接时,先判断list长度是否超过1000,没超过添加一个值(这个过程要考虑并发问题),添加值成功立即发起连接请求,连接成功后删除llist中自己添加的数据。但个人感觉用netty做的框架新能都很好的,正常不需要做第三点。

    评论

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题