我們將爲我們的使者開發一個後端,所以我有一個想法,我想在這裏描述,也許有人可以給我一個建議。基於Erlang的聊天(負載均衡和通知分發)
1)想法:
的Nginx - 重定向請求到隨機節點(輪循) - > 二郎簇 - 重定向到實際節點(我們選擇與進程最小數目節點) - > 握手 - > 升級到WebSocket。
集羣中的每個節點都有ETS表,其中包含每個節點(字段 - 節點,num_processes)的進程數。每個節點每5秒將其進程數發送到羣集中的所有節點。
所以我們不需要有主節點,因爲每個節點都可以做負載均衡。
2)其他問題:
這是個好主意,註冊用戶的活躍WebSocket連接器(PID)在全球範圍與GPROC?我們需要這個列表讓每個用戶通過ws向最終用戶發送通知。
1)超過1個億用戶(超過20萬在線) 2)我們將只發送短信與元數據(圖像,視頻和音頻將存儲「媒體」的集羣服務器) 3 )我試圖在集羣中傳播所有用戶的WebSocket連接。 4)當節點死亡時,所有用戶的客戶端將嘗試重新連接,導致ping失敗(死亡節點的WebSocket連接將在活動節點間傳播) – user1178363