GameServer
的autoscaling的详细流程如下:
Autoscaler controller
根据GameServer的metric信息,计算Squad的合理副本数量;Carrier
根据一定规则选择GameServer
,然后设置Constraint
,通知应用程序下线该副本;- RoomAssign下线对应的
GameServer
,设置Conditionoffline=true
,表示不再分配新的玩家到该GameServer
; GameServer
等到没有玩家之后,再设置Conditionno-player=true
;Carrier controller
删除offline=true && no-player=true
的GameServer
。
注意,上面的Condition
,比如offline
,no-player
可由业务自己定义。