Seleção de Realm
Um Catalyst é 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-86.
É 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 é:
Prioriza Catalyst Nodes com a maior quantidade de usuários
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