发送数据太快,客户端来不及接收处理

later

tcp连接是跨国线路,发送数据频率很高,客户端来不及接收处理,
提示缓存区满,导致send_fail很多,请问怎么处理好?要做负载均衡吗?

3991 1 0
1个回答

blogdaren

workerman支持网络流量控制:
当服务端发送速度快于客户端接收速度时,数据会积压至服务端发送缓冲区爆满并触发onBufferFull事件,此时服务端应该暂停向客户端发送数据,直至发送缓冲区为空并触发onBufferDrain事件,此时服务端恢复继续向客户端发送。

  • later 2018-12-26

    因为是行情数据,需要比较实时,这数据又不想丢,有没有别的办法呢?是不是要增加服务器和带宽来增大服务器的处理能力?

  • blogdaren 2018-12-26

    @3311:
    1、你这样的场景,我认为增加带宽以及提升服务器的处理能力都是非常必要的;
    2、如果想数据不丢失的话,那得配合持久化存储策略了,比如这样的一个做法:
    https://wenda.workerman.net/question/3475

年代过于久远,无法发表回答
🔝