目录
前言
以往,Octavia 通过 HAProxy + Keepalived 的组合来提供高可用的 TCP、HTTP、HTTPS 和 TERMINATED_HTTPS 负载均衡服务。HAProxy 是一个著名的 L4-L7 负载均衡器,功能非常强大,但细心的你或许会发现 HAProxy 的官方定义是 HAProxy as TCP and HTTP proxy,这暗示着 “Not UDP”。没错,HAProxy does not support UDP load balancing。
UDP 协议经常被作为处理音频、视频数据流以及其他实时应用中的传输层,在物联网(IoT)、边缘计算等领域中被广泛使用。为了满足这些场景的需求,在最新发布的 Rocky 版本中,Octavia 加入了 keepalived_lvs
Driver 支持 UDP 负载均衡。
UDP 简述
实际上 UDP 在并入 TCP/IP 协议族的时候,就是作为 IP 协议的第四层抽象而存在的,IP 的协议单元叫做 IP 数据报,UDP 的名字正是来源于此 —— 用户数据报协议。其中 “用户” 便有了端到端的意思。起初 UDP 只是作为 TCP 的补充存在,应用于一些无需维护连接,无需维护状态的场合,然而随着 TCP 越来越复杂,随着复杂性越来越往上层转移,很多应用程序开始在 UDP 之上自行处理连接状态,数据序列等,这样便可以自行控制好复杂度,比较典型的是 DTLS 协议(SSL 的 UDP 版本)以及 OpenVPN。
<