網游服務器 Services-based 和 Cells-based 架構
(金慶的專欄 2018.3)
無縫世界網游服務器架構的設計思路
http://blog.csdn.net/SmartTony/article/details/6842065
提出了2種網游服務器架構:
* Services-based architecture 基于服務的架構
* Cells-based architecture 基于cell的架構
基于服務的架構按功能劃分成不同服務,不同服務實現于不同的進程。
而基于cell的架構使用相同的Cell進程組成一個集群,每個Cell進程包含全部的功能。
基于服務的架構一直是主流的架構,自從 microservice 和 service mesh 概念相繼流行,
基于微服務的架構應該會成為未來的方向。
在無縫大地圖網游中,應該用基于cell的架構來實現地圖及相關功能,
其他與位置無關的功能則應該盡量按服務實現。
考慮到服務來回調用延時較大,對于實時性強的功能,如PK也應該在cell上實現。
可以考慮客戶端通過專門的網關來連接cell, 使用udp/kcp來減小時延。
而其他非實時性服務由Tcp網關轉發。
服務器內部可全部統一采用 gRPC.
(金慶的專欄 2018.3)
無縫世界網游服務器架構的設計思路
http://blog.csdn.net/SmartTony/article/details/6842065
提出了2種網游服務器架構:
* Services-based architecture 基于服務的架構
* Cells-based architecture 基于cell的架構
基于服務的架構按功能劃分成不同服務,不同服務實現于不同的進程。
而基于cell的架構使用相同的Cell進程組成一個集群,每個Cell進程包含全部的功能。
基于服務的架構一直是主流的架構,自從 microservice 和 service mesh 概念相繼流行,
基于微服務的架構應該會成為未來的方向。
在無縫大地圖網游中,應該用基于cell的架構來實現地圖及相關功能,
其他與位置無關的功能則應該盡量按服務實現。
考慮到服務來回調用延時較大,對于實時性強的功能,如PK也應該在cell上實現。
可以考慮客戶端通過專門的網關來連接cell, 使用udp/kcp來減小時延。
而其他非實時性服務由Tcp網關轉發。
服務器內部可全部統一采用 gRPC.