Seleção de Realm

Um Catalystarrow-up-right é um Server que agrupa diferentes Services necessárias para o Decentraland World. Algumas das principais responsabilidades do server são a gestão do armazenamento descentralizado para a maior parte do conteúdo necessário pelo client e a orquestração das comunicações entre peers.

Ao entrar em um Decentraland Client, é necessário conectar-se a um Catalyst específico para o suporte dos serviços backend Content, Lambdas & Comms. Um dos DAO Catalysts precisa ser usado; ele pode ser escolhido aleatoriamente, mas isso pode levar o usuário a acessar um serviço backend com alta latência ou um realm com pouca quantidade de usuários enquanto está conectado a outro.

Para mitigar isso, um algoritmo para seleção de realm é implementado no Kernel como descrito em ADR-86arrow-up-right.

É um algoritmo configurável que usa diferentes critérios em uma lista ordenada; se uma das condições for forte o suficiente para tomar uma decisão, então escolhe um realm; caso contrário, delega a decisão ao critério seguinte. Se nenhuma condição for forte o suficiente, então uma decisão padrão é tomada (aleatória).

A configuração padrão é:

  1. Prioriza Catalyst Nodes com a maior quantidade de usuários

  2. Prioriza Catalyst Nodes com mais usuários na localização visitada

Outros critérios que podem ser usados são:

  • Large Latency: Prioriza os Catalysts com menor latência

  • Load Balancing: É um mecanismo Round Robin para distribuir todos os peers entre todos os Catalysts.

Atualizado