高可用移动网络连接

35 阅读1分钟

一、定义

  1. 短连接:基于 Http 层次的链接,在数据传输完成之后会断开连接
  2. 持久连接:Http 的 keep-alive 机制,在时间到期之后,会关闭连接
  3. 长连接:TCP 层次的链接,数据传输完成之后,不会断开连接

二、区别和适用场景

短连接通信一次之后,链接就会关闭,适用于下场景:

  1. 低频 Api:登录
  2. 安全敏感的 Api

持久连接通过使用 Keep-alive,复用 Tcp 连接,减少了 Tcp 创建的耗时。连接存活的时间较短,适用于以下场景:

  1. 高频 Api:列表分页,下拉刷新
  2. 多路复用的情况

Tcp 长连接是通信完成之后,不断开链接,适用的场景如下:

  1. IM
  2. 股票交易

三、长连接心跳策略

为什么长连接需要进行心跳?

  1. 保活(防止被 Nat 回收)
  2. 连接断开,则业务逻辑不再执行

心跳策略:

  1. 长连接逻辑单独提取到了一个独立的进程
  2. 心跳