运城棋牌游戏开发市场中,棋牌游戏占据了很大一部分,未来的发展前景也十分广阔,那么对于运城棋牌游戏开发服务器的结构设计要点有何看法?
一、系统架构。
运城棋牌游戏开发登入方式。通常需要接第三方登陆,这部分登陆是http操作,我们统一提供一个web服务,用于登陆验证。由于登录时调用第三方的http服务,因此该过程可能比较慢,如果将其放置在逻辑服务器上,则可能导致业务逻辑任务卡。由于不同的玩家请求可能在同一线程中,因此如果有任务卡,则此任务稍后将出现新请求,从而导致消息延迟。
获得游戏公告,同时放置在网络服务中。通知通常是游戏登陆时向服务器获取一次。将其放入web服务器,将其与业务逻辑分离的好处是,当业务逻辑服务器进行维护或更新时,不影响用户登录,并获得通知,这样用户体验就会更好。
由于棋牌类游戏服务器为世界服,没有分区,因此创建用户唯一的id,因此用户的id必须是全球唯一的。如果不想让其他人根据userid的递增计算出有多少注册用户,递增的梯度可能是随机的,比如每一个递增值从1到1024不等。
当您的房间主创建一个房间时,您的房间id需要在任何服务器上进行查询,因此,您的房间id创建成功后,将被存储在共享内存redis中,每个房间id对应于该房间所在的IP地址或服务器id。通过这种方式,用户可以进入房间,在查询房间id时,可以判断该房间是否与自己登陆的游戏服务器相同。
二、运城棋牌游戏开发的服务器结构。
登陆时,客户端先向登陆服务器请求登陆信息,登陆成功后,返回登陆的token,为满足web请求量大,登陆服务稳定等要求,可使用nginx进行负载平衡。
成功登陆后,请求负载平衡服务器,获得一个已连接业务服务器。该负载均衡服务器可以在一个进程中登陆web,也可以单独登陆。
在获得了登陆成功的token以及需要连接的ip和业务服务器端口后,再去连接业务服务器。当连接成功后,您可以使用token到登陆服务器验证,确认该用户已经登陆。
评论