文章目录
  1. 1. 五边飞行
  2. 2. TCP拥塞控制,慢启动
  3. 3. 产品经理与研发工程师

五边飞行

飞机的五边飞行和TCP网络的拥塞控制协议有什么关系?
哈哈, 笑而不语。
想必这里很多人和我一样并不是专业的飞行人士,所以在开始上面的话题前,先科普下什么是五边飞行:
五边飞行(Airfield Traffic Pattern)是飞行员训练的基础课程,主要形式就是绕机场飞行,因为整个飞行轨迹是一个四边形、而又将这四边形划分为五个阶段,所以被称为五边飞行。
具体的说,这五个阶段是:

  1. Upwind(landing) / Departure(take off)
  2. Crosswind
  3. Downwind
  4. Base
  5. Final

更多细节查看这里

五边飞行

你会问,不就是降落么?直接降不就行了么,费这些事干嘛?
飞机又不是汽车,碰到某个路段堵塞,汽车减速停下来就行了,飞机行么?更何况,你开车侧方位停车还要倒车然后回两把轮呢。

TCP拥塞控制,慢启动

我们看这整个过程,其实都是在为降落的充分准备做铺垫,为紧缺的资源-机场跑道创造一个有序、安全的降落起飞环境。哎,等等。从这个角度来看这与TCP网络协议中的拥塞控制算法何其相似,特别是慢启动(slow start)整个算法的考虑角度都是一样的。
因为网络传输中传输通道的大小是一定的,因此带宽就类似飞行中的机场跑道是紧缺资源,换句话说就需要通过一种机制保护起来,这里慢启动算法就起到了这个作用:
TCP在建立连接后,到了开始发送数据的阶段时,如果一次性发送了大量的数据包过去,必然会造成网络的拥塞,因此就需要根据网络情况逐步增加每次传送的数据包。具体说来是这样的:

RTT(Round Trip Time)轮次 传送数据包(单位:MSS)
0 1
1 1*2 = 2
2 2*2 = 4
3 4*2 = 8
.. ..

下图中第一段ssthresh(Slow Start threshhold )之前的部分就是慢启动算法的过程。

TCP 慢启动算法

图片来源酷壳 TCP 的那些事儿(下)

依次类推,如果带宽值为m的话,经过 $log_2^m$ 次RTT后就可以占满了带宽(类似的算法在动态数组的内存分配上也可以找到影子)。
所以说在你家网速慢的时候没必要狂点刷新,慢启动算法保证了不会因为的刷新频率而获得更高的带宽。

产品经理与研发工程师

在保护紧缺资源的点上,技术管理所使用的原则其实和上面的本质是相同的。
都说技术部门的研发和产品是相爱相杀的关系(哈哈。。。。。。)
如果产品经理与研发工程师的比例高于合理的比例会怎样?
产品设计好了,没有人实现,尴尬。
如果研发工程师与产品经理的比例高于合理的比例会怎样?
研发资源大量闲置,产品经理被各种挑战,大老板、市场部、运营部。

我们来分析下上面这两种情况,以及对应的措施。
对于第一种情况,就需要建立标准很高的需求评审机制,让真正的重要需求实现,这里可以要求需求的粒度,需求的完备度都要达到高的标准才能交到研发的手中。
对于第二种情况,允许粗粒度的需求交付研发,但是需要与研发在细节上充分沟通。
看到了么?这其实是对不同情况下的稀缺资源做的必要保护。核心就一个推动产品向健康的方向发展,毕竟“想”和“做”是不可分割的,产品经理和研发工程师这两个角色离开了谁都搞不成事,就酱。

文章目录
  1. 1. 五边飞行
  2. 2. TCP拥塞控制,慢启动
  3. 3. 产品经理与研发工程师