你好,请教个问题:
  用编码如何控制外网用户(分级别)的带宽、流量、并发
  比如:普通用户上传带宽是100k/m vip用户上传带宽是1m/m
  普通用户并发数5个 vip用户并发数10个

解决方案 »

  1.   

    真正实现起来有点难度。换个角度来看问题,针对该上传场景,无论是什么用户,比如普通、VIP,在上传文件时,普通用户上传速度控制在100K以内,VIP的则控制在1M以内,也就是说,上传相同的文件,在客户端网络条件相同的情况下,普通用户的等待时间比VIP用户的长。可以在服务端接收文件的时候做个判断,把速度的逻辑转为时间的逻辑来处理。
    这种功能跟客户端网速关系比较大,不一定实用,
    至于多少并发的那个,是指能同时上传多少文件的意思吗?这应该容易实现吧。
      

  2.   


    这样也跟用户类型有关吧,线程应该是放在线程池里管理的,根据普通、VIP等不同类型的业务要求,判断在线程池中启动多少个线程来给用户提供服务。
      

  3.   

    在代码里面控制,比如1s内上传一kb,就是1kb/秒,如果超过了这个速度,可以通过减少缓冲区大小,或者是线程阻塞的方法来减少上传的速度