Ops 관찰, announce와 maintenance

AnnounceWorldReq·SetMaintenanceReq 뒤 Ops가 두 ZoneNode에 classic fanout으로 알린다

Ops 관찰, announce와 maintenance AnnounceWorldReq·SetMaintenanceReq 뒤 Ops가 두 ZoneNode에 classic fanout으로 알린다 WatchNodesReq WatchNodesRes AnnounceWorldReq AnnounceWorldRes WorldAnnounceEvent fanout WorldAnnounceEvent fanout SetMaintenanceReq(nodeId,true) SetMaintenanceRes NodeMaintenanceChangedEvent fanout → apply only matching NodeId NodeMaintenanceChangedEvent fanout → apply only matching NodeId Ops Browser · Sequence participant Ops Browser Ops · Sequence participant Ops ZoneNode A · Sequence participant ZoneNode A ZoneNode B · Sequence participant ZoneNode B

자기 메시지 2개 (archify 미지원 → 앞 화살표에 합침)

  • • 원문 ZoneNode A→ZoneNode A와 ZoneNode B→ZoneNode B "apply only matching NodeId"는 각각 뒤따르는 화살표가 없는 마지막 메시지라, 대신 그 직전 NodeMaintenanceChangedEvent fanout 화살표 라벨에 "→ apply only matching NodeId"로 합쳤다.

fanout은 완료를 성공 기준으로 쓰지 않는다

  • • border sync와 announce는 publish이며 target handler 완료를 성공 기준으로 사용하지 않는다. AnnounceWorldReq 뒤 AnnouncementId 발급이 client 성공 조건이며 fanout publish 완료나 subscriber handler 완료를 조건으로 삼지 않는다.
  • • Ops는 desired state를 maintenance store에 기록하므로 ZoneNode 재시작 뒤 같은 NodeId의 maintenance state를 복원한다. target zone owner의 OnActorJoin admission이 ZoneMaintenance 거부의 유일한 최종 판정자다.