From 342d3cd75f8b1975375fa3d93a218cd54236a757 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Tue, 5 Dec 2023 18:52:16 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20README.md=20=E5=88=86=E6=B5=81=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E8=AF=B4=E6=98=8E=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 4cdb30d..b15afec 100644 --- a/README.md +++ b/README.md @@ -91,6 +91,11 @@ func main() { ### 分流服务器 分流服务器可以将消息分流到不同的分组上,每个分组中为串行处理,不同分组之间并行处理。 + +> 关于分流服务器的思考: +> - 当游戏需要以房间的形式进行时,应该确保相同房间的玩家处于同一分流中,不同房间的玩家处于不同分流中,这样可以避免不同房间的玩家之间的消息互相阻塞; +> - 这时候网络 IO 应该根据不同的游戏类型而进行不同的处理,例如回合制可以同步执行,而实时游戏应该采用异步执行; +> - 当游戏大部分时候以单人游戏进行时,应该每个玩家处于自身唯一的分流中,此时非互动的消息造成的网络 IO 采用同步执行即可,也不会阻塞到其他玩家的消息处理; ```go package main