2016-03-07 54 views
3

我製作了一個遊戲,客戶端通過TCP連接連接到中央服務器。在前6個字節中,我發送客戶端協議的版本號「00.00.01」。基於這個版本,我想將tcp連接路由/代理到不同版本的遊戲將運行的不同服務器。基於前幾個字節的TCP負載平衡和重新路由

基本上客戶-1 00.00.01版本應該連接到服務器1 和客戶端2 00.00.02版本應該連接到服務器2

爲實現負載平衡我檢查HAProxy的LUA支持,但不能找到解決方案。這種解決方案是否存在於NginX中?

什麼是最佳做法?

回答

1

爲什麼不讓遊戲本身知道要連接哪個主機名?然後,您可以使用DNS和虛擬主機來管理最終映射到的物理機器。

+0

是的,可以做到。但我正在尋找最佳做法,以及其他人在做什麼...... – user18853

+0

這與我們兩人所談論的並不完全相同,但已建立實踐的一個例子是Twitter API,它將版本號摺疊爲URL的請求:https://dev.twitter.com/rest/reference/get/search/tweets – peterpi