精華區beta C_and_CPP 關於我們 聯絡資訊
各位大大, 小弟目前在開發聊天伺服器, 負載均衡部分 : Web socket可透過nginx反向代理來進行負載均衡 Tcp socket可透過haproxy來進行負載均衡 想請問假設目前有A B C三台socket server, 負責聊天的功能 Client -> Loading balance -> A, B, C A與B 或 B與C 或 A與C 彼此間不同的玩家要如何進行溝通呢? 是否還要建立一個 D socket server 當作中間的橋樑呢, 將A要傳送的訊息透過D在發送 到B呢? A -> D -> B 還是說有更好的做法或一般常用的方法呢? 麻煩了解的大大可以提供一下建議 謝謝喔 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.89.1 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1481617221.A.CAF.html
Schottky: 如果你的瓶頸最後還是卡在 D 這一台的效能, 12/13 16:27
Schottky: 負載平衡的意義又何在? 12/13 16:27
stupid0319: scoket是什麼 12/13 16:42
Schottky: 評估一下可能的使用者數和伺服器效能,單獨的聊天伺服器 12/13 16:49
Schottky: 應該就夠了,頂多準備兩台,一台上線一台備援這樣 12/13 16:49
hn12404988: 按照你已經有的硬體限制,一定要三台來均衡的話 12/13 17:06
hn12404988: 最好的解決方式應該是「有需要一起溝通的玩家就忽略 12/13 17:07
hn12404988: balance的部份,都強制登入到同一台」,這樣才是正確 12/13 17:07
hn12404988: 的系統架構,在多一台負責這工作沒有意義 12/13 17:08
※ 編輯: herbacin (61.216.89.1), 12/13/2016 17:59:45 ※ 編輯: herbacin (61.216.89.1), 12/13/2016 18:00:00
stupid0319: 不如直接P2P連線就好了,一台伺服器當橋梁 12/13 18:01
herbacin: 我這邊三台只是舉例, 主要是擔心連線數過多的情況 12/13 18:03
herbacin: 如果有更好的架構, 是可以進行修改的 謝謝 12/13 18:04
rrr0832: 這篇應該cp了吧 12/13 18:13
herbacin: 我有刪了其他po文地方, 樓上這樣可以嗎 12/13 18:33
littleshan: 如果是開發產品,不要自己做聊天室,直接架 XMPP serv 12/13 18:41
littleshan: er 就好。這是成熟的聊天室協定,也可以分散運作 12/13 18:41
wtchen: 本文跟C/C++的關係是? 12/13 19:33
Caesar08: 也許應該開 "程式問題版" 12/13 20:10
Caesar08: 板 12/13 20:11