当前位置 : 主页 > 编程语言 > 其它开发 >

分布式匹配

来源:互联网 收集:自由互联 发布时间:2022-05-30
全服匹配:系统随机将一些玩家分到一组。 常规匹配流程图 缺陷 异步过程 集群治理:负载均衡、数据容灾 数据缓存:数据冲突 开发和部署复杂,分布式的必然 两级匹配流程图 核心

全服匹配:系统随机将一些玩家分到一组。

常规匹配 流程图

image-20220513134421107

缺陷
  • 异步过程
  • 集群治理:负载均衡、数据容灾
  • 数据缓存:数据冲突
  • 开发和部署复杂,分布式的必然
两级匹配 流程图

image-20220513134525453

核心:两级匹配机制(本地匹配+云端匹配)

区别
  • 报名数据存储在gameserver,利用了gameserver天然的分布式
  • 匹配算法运行在两个地方:本地gameserver进程和云端的matchserver进程
  • matchserver无状态
  • matchserver只执行匹配逻辑,周边逻辑都在gameserver
  • gameserver对matchserver无依赖
优点
  • gameserver短路了大部分的匹配请求
  • gameserver可以对数据进行分级路由
  • matchserver开发和部署都很简单,单体应用
  • matchserver可以按照功能拆分进程
总结

第一种匹配算法是一种常规的实现,大包大揽。分布式的典型实现。

第二种匹配算法是一种两级执行,第一级是游戏逻辑进程内的匹配,在第一级匹配随着参与人数的增长,第一级匹配效率会越来越高,所以到了第二级匹配的人数会比较固定,不会随着负载的增加而增加。

第二种的优势:

  • 本地和云端结合,数据分级,匹配效率高。
  • matchserver提供主动式服务,gameserver对它没有依赖性。
  • matchserver不存储数据和状态,若故障不影响业务正常功能。
核心

逆向思维

化整为零

Refer

全民飞机大战:全区全服模式下的分布式解决方案

分布式游戏服务器全服匹配玩法设计

上一篇:理解javaScript异步
下一篇:没有了
网友评论