Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于前几个字节的TCP负载平衡和重路由_Tcp_Lua_Tcpclient_Haproxy - Fatal编程技术网

基于前几个字节的TCP负载平衡和重路由

基于前几个字节的TCP负载平衡和重路由,tcp,lua,tcpclient,haproxy,Tcp,Lua,Tcpclient,Haproxy,我制作了一个游戏,客户端通过TCP连接连接到中央服务器。在前6个字节中,我发送了客户端协议的版本号“00.00.01”。基于这个版本,我想路由/代理tcp连接到不同的服务器,在那里运行不同版本的游戏 基本上,版本为00.00.01的客户端1应该连接到服务器1 版本为00.00.02的客户端2应连接到服务器2 对于负载平衡,我检查了HAProxy lua支持,但找不到解决方案。NginX中是否存在这种解决方案 最佳实践是什么?为什么不让游戏本身知道要连接到哪个主机名?然后,您可以使用DNS和虚拟主

我制作了一个游戏,客户端通过TCP连接连接到中央服务器。在前6个字节中,我发送了客户端协议的版本号“00.00.01”。基于这个版本,我想路由/代理tcp连接到不同的服务器,在那里运行不同版本的游戏

基本上,版本为00.00.01的客户端1应该连接到服务器1 版本为00.00.02的客户端2应连接到服务器2

对于负载平衡,我检查了HAProxy lua支持,但找不到解决方案。NginX中是否存在这种解决方案


最佳实践是什么?

为什么不让游戏本身知道要连接到哪个主机名?然后,您可以使用DNS和虚拟主机来管理最终映射到的物理机。

可以这样做。但我正在寻找周围的最佳实践以及其他人正在做的事情。这与我们所谈论的场景并不完全相同,但一个已确立的实践示例是Twitter API,它将版本号折叠到请求的URL中: