分布式匹配

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

常规匹配

流程图

image-20220513134421107

缺陷

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

两级匹配

流程图

image-20220513134525453

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

区别

  • 报名数据存储在gameserver,利用了gameserver天然的分布式
  • 匹配算法运行在两个地方:本地gameserver进程和云端的matchserver进程
  • matchserver无状态
  • matchserver只执行匹配逻辑,周边逻辑都在gameserver
  • gameserver对matchserver无依赖

优点

  • gameserver短路了大部分的匹配请求
  • gameserver可以对数据进行分级路由
  • matchserver开发和部署都很简单,单体应用
  • matchserver可以按照功能拆分进程

总结

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

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

第二种的优势:

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

核心

逆向思维

化整为零

Refer

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

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

posted @ 2022-05-13 14:04  天下太平  阅读(315)  评论(0编辑  收藏  举报