Game backend patterns — ZLink approach

zone-sharding · lobby+room · matchmaker+dedicated · distributed actor service

Game backend patterns — ZLink approach zone-sharding · lobby+room · matchmaker+dedicated · distributed actor service client · ① Zone-sharding — ZLink client API server · route client · ① Zone-sharding — ZLink API server route client zone server A · RouteMesh node · ① Zone-sharding — ZLink zone server A RouteMesh node zone server B · RouteMesh node · ① Zone-sharding — ZLink zone server B RouteMesh node client · ② Lobby + room — ZLink client Entry Spot · entry · matching · ② Lobby + room — ZLink Entry Spot entry · matching room spot · GetOrCreate · ② Lobby + room — ZLink room spot GetOrCreate client · ③ Matchmaker + dedicated — ZLink client channel handler · matching · ③ Matchmaker + dedicated — ZLink channel handler matching room spot · GetOrCreate · ③ Matchmaker + dedicated — ZLink room spot GetOrCreate client · ④ Actor service — ZLink client API server · ④ Actor service — ZLink API server Instance Spot · entity id · cold activation · ④ Actor service — ZLink Instance Spot entity id · cold activation STREAM direct ① Zone-sharding — ZLink ② Lobby + room — ZLink ③ Matchmaker + dedicated — ZLink ④ Actor service — ZLink

ZLink primitives — the state unit is a Spot/actor

  • • ① On a boundary cross, the actor is relocated cross-node (RouteMesh)
  • • ②③ A room spot is GetOrCreate (attach if present, create if not)
  • • ③ After matching, the client connects directly to the room spot over STREAM
  • • ④ Instance Spot: cold-activated by entity id