시스템 구성과 topology — 역할별 연결

Client는 Session에만 연결하고, API·Matchmaking·Play는 server 간 channel과 RouteMesh로 통신한다

시스템 구성과 topology — 역할별 연결 Client는 Session에만 연결하고, API·Matchmaking·Play는 server 간 channel과 RouteMesh로 통신한다 Player Clients ×2 · Clients Player Clients ×2 Observer Client · Clients Observer Client Session Servers ×2 · 연결 종단 · relay · Servers Session Servers ×2 연결 종단 · relay API Servers ×2 · 인증 · 매칭 조율 · Servers API Servers ×2 인증 · 매칭 조율 Play Servers ×2 · player Actor · Room Spot · Servers Play Servers ×2 player Actor · Room Spot Matchmaking Server · Matchmaker Instance Spot · Servers Matchmaking Server Matchmaker Instance Spot STREAM STREAM bingo.api bingo.play bingo.play bingo.matchmaking Clients Servers

연결 읽는 법 — 무방향 구조 연결

  • • 모든 실선은 원문의 `---` 무방향 구조적 연결이다 — 요청 방향이 아니라 peer·ingress 연결 의도만 나타낸다(화살표 머리는 archify 렌더 제약이며 방향 주장이 아니다). Client가 직접 연결하는 역할은 Session뿐이며, API·Matchmaking·Play는 server 간 channel과 RouteMesh로 통신한다.
  • • ×2는 원문 `x2`(다중 인스턴스): Player Clients·Session·API·Play. Observer Client는 x1(단수). Matchmaking Server는 sample 규모에서 한 process지만 singleton으로 가정하지 않는다.

논리 연결 역할

  • • `bingo.api` ClientServer Channel: Session과 Play가 인증·player record API를 호출한다. STREAM: Client request·response·server push를 한 연결로 전달한다.
  • • `bingo.matchmaking` RouteMesh: API가 level bucket의 Matchmaker Instance Spot을 호출한다. `bingo.play` RouteMesh: API와 Session이 Room·Actor를 찾고 Play node가 object message와 Logical Multicast를 처리한다.
  • • 각 process RID는 `<role-prefix>-<uuid-v4>`로 시작할 때 새로 만들고 연결·관측에만 쓴다. logical identity는 ActorId·RoomId다. prefix — API의 Play Mesh=api, API의 Matchmaking Mesh=api-matchmaking, Matchmaking=matchmaking, Play=play, Session=session.