Skalieren der Matchmaking unter Last

Übersicht

Wenn eine Warteschlange eine große Anzahl von Tickets empfängt, skaliert der Dienst seine Verarbeitung automatisch, um eine niedrige Übereinstimmungslatenz aufrechtzuerhalten. Wenn die Auslastung zunimmt, werden Tickets mithilfe der konfigurierten Regeln Ihrer Warteschlange gruppiert, sodass ähnliche Tickets – Tickets, die wahrscheinlicher kompatibel sind – zusammen ausgewertet werden. Wenn die Auslastung abnimmt, konsolidieren sich diese Gruppen, sodass der Dienst einen größeren Pool von Tickets zur Auswahl hat und die Qualität der Übereinstimmungen verbessert wird.

Diese Skalierung ist für Spieler transparent, aber die Regeln, die Sie für eine Warteschlange konfigurieren, beeinflussen, wie effektiv der Dienst Die Arbeit verteilen kann. Wenn Sie diesen Prozess verstehen, können Sie Warteschlangenkonfigurationen entwerfen, die effizient skaliert werden.

Was macht eine Regel gut skalieren

Wenn der Dienst Tickets über seine Verarbeitungskapazität verteilen muss, sucht er nach Regelattributen, die Tickets natürlich in ungefähr gleiche Gruppen unterteilen. Regeln mit einer Vielzahl unterschiedlicher Werte funktionieren am besten – sie bieten dem Dienst mehr Optionen für einen gleichmäßigen Lastenausgleich.

Wenn keine Regel eine gute Verteilung bereitstellt, greift der Dienst auf eine universelle Verteilung zurück, die die Last ausgleicht, ohne sich auf Regelattribute zu verlassen. Dies geschieht beispielsweise, wenn die meisten Tickets identische Attributwerte aufweisen.

Regeln, die gut partitionieren

  • Zeichenfolgengleichheitsregeln mit unterschiedlichen Werten– Regeln wie GameMode oder Region , die mehrere unterschiedliche Werte in Ihrer Spielerpopulation aufweisen, schaffen natürliche Partitionsgrenzen. Der Dienst kann Tickets sauber in Gruppen unterteilen, die denselben Wert aufweisen.
  • Erforderliche Regeln: Regeln, die während des gesamten Abgleichs (ohne Erweiterung) erzwungen werden, werden für die Partitionierung bevorzugt, da sie harte Einschränkungen darstellen. Durch das Aufteilen dieser Regeln wird sichergestellt, dass Partitionsgrenzen ihren Anforderungen am stärksten entsprechen.
  • Regeln mit höherer Gewichtung – Regeln mit einer höheren Gewichtung werden für die Partitionierung priorisiert. Dieser Ansatz bedeutet, dass die Regeln, die Sie für die Qualität der Übereinstimmung am wichtigsten halten, auch diejenigen sind, die am wahrscheinlichsten bestimmen, wie Tickets verteilt werden.
  • Differenzregeln mit einer Verteilung von Werten– Numerische Regeln wie skill rating funktionieren gut, wenn Spielerwerte über einen Bereich verteilt werden, sodass der Dienst Tickets in Gruppen mit ähnlichen Werten aufteilen kann.

Regeln, die für die Partitionierung weniger effektiv sind

  • Regeln, bei denen die meisten Tickets denselben Wert aufweisen– Wenn fast alle Spieler denselben Attributwert für eine Regel übermitteln, kann der Dienst diese Regel nicht verwenden, um eine sinnvolle Aufteilung zu erstellen.
  • Regeln mit hoher Nutzung von Wildcards– Wenn ein großer Teil der Tickets einen Wildcardwert (match-any) für eine Regel verwendet, ist diese Regel für die Aufteilung von Tickets in unterschiedliche Gruppen weniger nützlich.
  • Regeln mit Erweiterungen – Regeln, die im Laufe der Zeit optional werden, werden für die Partitionierung entprioritiert, da sie weichere Einschränkungen darstellen, die während der Lebensdauer eines Tickets möglicherweise nicht gelten.

Überlegungen bei der Entwicklung

Beachten Sie beim Entwerfen von Matchmaking-Warteschlangen für Spiele, bei denen ein hohes Ticketvolumen auftreten kann, die folgenden Überlegungen:

  • Verteilen von Attributwerten: Regeln mit unterschiedlichen Attributwerten für ihre Spielerpopulation führen zu besseren Partitionsaufteilungen. Wenn die meisten Spieler den gleichen Wert für eine Regel verwenden, trägt dies nicht dazu bei, die Last über Partitionen hinweg auszugleichen.
  • Gewichtung wichtiger Regeln höher: Die Gewichtung einer Regel wirkt sich sowohl auf die Übereinstimmungssortierpriorität als auch auf die Partitionsteilungspriorität aus. Durch das Zuweisen höherer Gewichtungen zu den Regeln, die für die Übereinstimmungsqualität am wichtigsten sind, wird sichergestellt, dass diese Regeln auch steuern, wie Tickets verteilt werden.
  • Vermeiden sie unnötigen Wildcards– Wenn ein großer Teil der Tickets Für eine Regel Wildcardwerte verwendet, ist diese Regel für die Partitionierung weniger nützlich. Überlegen Sie, ob das Wildcard-Verhalten für Ihr Spieldesign erforderlich ist.
  • Wiederholungsversuche bei Partitionsänderungen sind normal. Wenn sich das Partitionslayout aufgrund einer Aufteilung oder Zusammenführung ändert, werden einige Tickets möglicherweise mit einem Wiederholungssignal kurz abgebrochen. Das Matchmaking SDK behandelt dies automatisch, sodass spieler nur eine vorübergehende Verzögerung erleben.