System composition and topology

the Client connects only to Session · API, Matchmaking, Play talk server-to-server over RouteMesh

System composition and topology the Client connects only to Session · API, Matchmaking, Play talk server-to-server over RouteMesh Player Clients · ×2 · Clients Player Clients ×2 Observer Client · one STREAM · Clients Observer Client one STREAM Session Servers · ×2 · Servers Session Servers ×2 API Servers · ×2 · Servers API Servers ×2 Play Servers · ×2 · Servers Play Servers ×2 Matchmaking · Matchmaker Spot · Servers Matchmaking Matchmaker Spot STREAM STREAM bingo.api bingo.play bingo.play bingo.matchmaking Clients Servers

Client-facing edge

  • • The only role the Client connects to directly is Session; API, Matchmaking, and Play communicate over server-to-server channels and RouteMesh.
  • • Both Player Clients (×2) and the Observer Client (×1) open one STREAM connection to the Session Servers (mermaid subgraph Clients).
  • • Counts (mermaid subgraph Servers): Session ×2, API ×2, Play ×2, and a single Matchmaking server ×1 (not assumed to be a singleton).

Logical channels (mermaid drew all links undirected ---)

  • • bingo.api (Session→API): ClientServer channel — Session and Play call the authentication/player-record API.
  • • bingo.matchmaking (API→Matchmaking): RouteMesh — API calls the level bucket's Matchmaker Instance Spot.
  • • bingo.play (Session→Play and API→Play): RouteMesh — API and Session find the Room/Actor; the Play node processes object messages and Logical Multicast.
  • • STREAM delivers client requests, responses, and server push over one connection.