我现要用gatewayworker开发一个棋牌游戏的服务服务器 那现在有一个问题就是 如果 BusinessWorker 的进程设置大于1 那么连接上来的两个玩家怎么能保证进入到相同的房间 以我现在的理解 1 设置 BusinessWorker 进程数 为1 2 设置 设置Gateway到BusinessWorker路由规则 请问还有其它的方法吗
PS 强烈建议网站加一个找回密码功能,还有就是问题检索的功能
我的理解是你要把同一个房间的用户放在一个进程里,这样好在内存中共享一些变量。 最好的方案是 设置Gateway到BusinessWorker路由,比如每个请求都带一个房间号,然后gateway根据房间号将请求路由到固定的进程。 不过最好不要用内存来存储重要数据,数据存在存储里会好一些,避免业务bug导致进程退出数据就没了,或者线上要升级代码,reload后导致数据丢失。如果数据都用存储存起来,也就不用考虑路由到同一个进程的问题了。
如果是我做棋牌的话,我可能直接用workerman来做,比如开10个进程,分别监听10个不同端口。想办法让相同的房间用户连到同一个进程(比如客户端根据取模算法连同一个进程),这样进程模型更简单,代码更精简,运行更稳定,还可以无限扩展服务器。
找回密码和问题检索正在开发中。
我的理解是你要把同一个房间的用户放在一个进程里,这样好在内存中共享一些变量。
最好的方案是 设置Gateway到BusinessWorker路由,比如每个请求都带一个房间号,然后gateway根据房间号将请求路由到固定的进程。
不过最好不要用内存来存储重要数据,数据存在存储里会好一些,避免业务bug导致进程退出数据就没了,或者线上要升级代码,reload后导致数据丢失。如果数据都用存储存起来,也就不用考虑路由到同一个进程的问题了。
如果是我做棋牌的话,我可能直接用workerman来做,比如开10个进程,分别监听10个不同端口。想办法让相同的房间用户连到同一个进程(比如客户端根据取模算法连同一个进程),这样进程模型更简单,代码更精简,运行更稳定,还可以无限扩展服务器。
找回密码和问题检索正在开发中。