![根据分隔符对 TCP 流流量进行负载平衡](https://linux22.com/image/794159/%E6%A0%B9%E6%8D%AE%E5%88%86%E9%9A%94%E7%AC%A6%E5%AF%B9%20TCP%20%E6%B5%81%E6%B5%81%E9%87%8F%E8%BF%9B%E8%A1%8C%E8%B4%9F%E8%BD%BD%E5%B9%B3%E8%A1%A1.png)
我想弄清楚 Nginx 或 HAProxy 是否能够根据流中的某些分隔符对 TCP 流内容进行负载平衡。TCP 连接是长期存在的,并且用于 MLLP 协议。简而言之,MLLP 协议是:
<VT>Message<FS><CR>[time gap]
<VT>Message<FS><CR>…
消息可以以连续流的形式发送,也可以在消息之间以可变的时间间隔发送。
目标是根据预定义的分隔符分割流,并根据信封中的“消息”做出负载平衡决策。如果能尽可能让实现与任一产品保持一致,则可以获得加分。
我尝试过 OpenResty/lua 和 HAProxy 的 SPOE。似乎两者都支持基于流内容的负载平衡,但仅限于初始连接时,之后的任何流量都会通过已建立的连接。
我将非常感激您的见解。谢谢!