网关服务器
轉載自:https://blog.51cto.com/yaocoder/1374280,我在想弄懂服務器架構而不懂服務器架構、服務器原理學得似是而非的情況下,轉載這篇文章,主要引入了網關服務器的概念,對我至少起到掃盲作用。公司的ProxyServer在世界服模型中,有點網關服務器的感覺。
可以看到都會有個接入服務,然后把不同的請求分發給不同的應用服務。其實這個接入服務就是“網關服務”,這種設計在nginx的負載均衡和反向代理功能中都有體現,另外在網游服務器中也大量采用了這種設計思路,由網關服務器將不同的請求分發到不同的應用服務上,等應用服務器處理完后再通過網關服務器轉發給客戶:
1. 這樣可以把要承載高并發,高性能任務的網絡服務獨立出來專門做好,做強(對于http協議的場景,可以直接用nginx做網關服務器)。這樣各個應用只需把重點放在對業務邏輯的處理即可。從技術架構和項目協作上都做到了解耦。
2. 有應用集群的情況下,可以通過網關服務器做負載均衡,把請求分發在負載低的服務器上。
采用帶網關的服務器架構,將客戶端與游戲服務器隔離,相比傳統的客戶端-服務端直連的架構有如下優勢:
(1)作為網絡通信的中轉站,負責維護將內網和外網隔離開,使外部無法直接訪問內部服務器,保障內網服務器的安全,一定程度上減少外掛的***。
(2)網關服務器負責解析數據包、加解密、超時處理和一定邏輯處理,這樣可以提前過濾掉錯誤包和非法數據包。
(3)客戶端程序只需建立與網關服務器的連接即可進入游戲,無需與其它游戲服務器同時建立多條連接,節省了客戶端和服務器程序的網絡資源開銷。
服務端高度模塊化:
大廳服務端將登錄、用戶信息、房間信息、日常任務、道具、銀行、比賽、排行、活動、網站等11個功能拆分成11個獨立的服務端子模塊,模塊之間不會相互影響,即使某模塊出錯也不會影響全局,提高了服務端的穩定性;與子模塊平行的新功能可以自由新增掛載,擴展性強。
附:
游戲服務器架構http://www.cnblogs.com/hwcs/p/7203605.html?,文中“長鏈接游戲服務器的第二代網游服務器”都是懂的,后面的服務器架構就不熟了,也不是很理解
轉載于:https://blog.51cto.com/peacefulmind/2070604
總結
- 上一篇: leetcode917
- 下一篇: 记录一次iOS11大标题不滚动的问题