IT技术博客大学习 共学习 共进步

累积发送模式

kernelchina blogs 2012-01-24 13:41:43 浏览 1,243 次

    Droplet写过一些Network应用实现的模式,鉴于网络设备的复杂性,还有不少D还没有囊括进去,我这里补充一种累积下发模式:

    其实很简单,如果发送方有很多小的消息需要发送,延迟一会儿累积一些消息一并发送。这里一般有两个条件会触发发送:

    1.在消息积累到一定数量的时候,超过Threshold的时候发送累积消息。

    2.在消息没有达到threshold,但是经过一定超时时间的时候,也发送。

    这个模式很常用,其实熟悉TCP协议的人会想到Nagle算法就是完全使用这种模式,当时解决的问题是Telnet协议中的大量小报文造成的协议损耗以及低速链路的拥塞。Nagle算法是84年采纳的,当时网络还很不发达,行家更少,以至于这样简单的设计也会成为著名算法,恨不早生20年,也发明一下":-)