부하 하에서 매치메이킹이 확장하는 방식
개요
큐가 대량의 티켓을 받으면 서비스는 낮은 매치 대기 시간을 유지하기 위해 처리를 자동으로 확장합니다. 부하가 증가하면 큐의 구성된 규칙을 사용하여 티켓이 그룹화되어 유사한 티켓, 즉 호환될 가능성이 더 높은 티켓이 함께 평가됩니다. 부하가 감소하면 이러한 그룹이 통합되어 서비스에 선택할 수 있는 티켓 풀이 더 커지고 매치 품질이 향상됩니다. 이 확장은 플레이어에게 투명하지만, 큐에서 구성하는 규칙은 서비스가 얼마나 효과적으로 작업을 분배할 수 있는지에 영향을 미칩니다. 이 프로세스를 이해하면 효율적으로 확장되는 큐 구성을 설계하는 데 도움이 될 수 있습니다.규칙이 잘 확장되는 요인
서비스가 처리 용량에 티켓을 분배해야 할 때는 티켓을 대략 동일한 그룹으로 자연스럽게 나누는 규칙 특성을 찾습니다. 다양한 고유 값이 있는 규칙이 가장 잘 작동합니다. 서비스에 부하를 균등하게 분산할 수 있는 더 많은 옵션을 제공합니다. 어떤 규칙도 좋은 분포를 제공하지 않으면 서비스는 규칙 특성에 의존하지 않고 부하를 균형 있게 조정하는 범용 배포로 대체합니다. 예를 들어 대부분의 티켓이 동일한 특성 값을 공유할 때 이 상황이 발생합니다.잘 파티셔닝되는 규칙
- 다양한 값이 있는 문자열 같음 규칙 — 플레이어 모집단에 걸쳐 여러 고유 값이 있는
GameMode또는Region과 같은 규칙은 자연스러운 파티션 경계를 만듭니다. 서비스는 티켓을 동일한 값을 공유하는 그룹으로 깔끔하게 나눌 수 있습니다. - 필수 규칙 — 매칭 전반에 걸쳐 계속 적용되는(확장이 없는) 규칙은 하드 제약 조건을 나타내므로 파티셔닝에 선호됩니다. 이러한 규칙에 대해 분할하면 파티션 경계가 가장 강력한 매치 요구 사항과 일치하게 됩니다.
- 가중치가 높은 규칙 — 가중치가 더 큰 규칙이 파티셔닝에 우선순위가 지정됩니다. 이 접근 방식은 매치 품질에 가장 중요하다고 간주하는 규칙이 티켓 분배 방식을 안내할 가능성이 가장 높은 규칙이 되도록 한다는 의미입니다.
- 값이 분산된 차이 규칙 — 기술 등급과 같은 숫자 규칙은 플레이어 값이 범위에 걸쳐 분산되어 있을 때 잘 작동하여 서비스가 티켓을 유사한 값의 그룹으로 분할할 수 있습니다.
파티셔닝에 덜 효과적인 규칙
- 대부분의 티켓이 동일한 값을 공유하는 규칙 — 거의 모든 플레이어가 규칙에 대해 동일한 특성 값을 제출하는 경우 서비스는 그 규칙을 사용하여 의미 있는 분할을 만들 수 없습니다.
- 와일드카드 사용이 많은 규칙 — 티켓의 큰 비율이 규칙에 대해 와일드카드(모두 매치) 값을 사용하면 그 규칙은 티켓을 뚜렷한 그룹으로 나누는 데 덜 유용해집니다.
- 확장이 있는 규칙 — 시간이 지남에 따라 선택 사항이 되는 규칙은 티켓의 수명 동안 유지되지 않을 수 있는 소프트 제약 조건을 나타내므로 파티셔닝에 대해 우선순위가 낮아집니다.
디자인 고려 사항
높은 티켓 볼륨을 경험할 수 있는 게임에 대한 매치메이킹 큐를 설계할 때는 다음 고려 사항을 염두에 두세요.- 특성 값 분산 — 플레이어 모집단에 걸쳐 다양한 특성 값이 있는 규칙은 더 나은 파티션 분할을 생성합니다. 대부분의 플레이어가 규칙에 대해 동일한 값을 공유하면 파티션 간 부하 균형 조정에 도움이 되지 않습니다.
- 중요한 규칙에 더 높은 가중치 부여 — 규칙의 가중치는 매치 정렬 우선순위와 파티션 분할 우선순위 모두에 영향을 미칩니다. 매치 품질에 가장 중요한 규칙에 더 높은 가중치를 할당하면 해당 규칙이 티켓 분배 방식도 안내합니다.
- 불필요한 와일드카드 방지 — 티켓의 큰 비율이 규칙에 대해 와일드카드 값을 사용하면 그 규칙은 파티셔닝에 덜 유용해집니다. 게임 디자인에 와일드카드 동작이 필요한지 고려하세요.
- 파티션 변경 중 재시도는 정상적임 — 분할 또는 병합으로 인해 파티션 레이아웃이 변경되면 일부 티켓이 재시도 신호와 함께 잠깐 취소될 수 있습니다. 매치메이킹 SDK는 이를 자동으로 처리하므로 플레이어는 잠깐의 지연만 경험합니다.
