Partilhar via


Malhas de Pares

Uma malha é uma coleção nomeada (um gráfico interconectado) de nós de mesmo nível que podem se comunicar entre si e que são identificados por um ID de malha exclusivo. Cada nó está conectado a vários outros nós. Em uma malha bem conectada, há um caminho entre quaisquer dois nós, com relativamente poucos saltos entre os nós nas bordas mais distantes da malha, e a malha permanecerá conectada mesmo se alguns nós ou conexões caírem. Os nós ativos na malha publicam suas informações de ponto de extremidade com um ID de malha correspondente para que outros pares possam encontrá-los.

Características de uma malha criada usando canal de mesmo nível

Identificado de forma única

  • Um ID exclusivo identifica cada malha. O nome da malha (ou ID da malha) está no mesmo formato que um nome de host DNS (Sistema de Nomes de Domínio). Como tal, esse ID de malha deve ser exclusivo para o cliente pretendido do aplicativo dentro do escopo do resolvedor que está sendo usado. Um nome comum, como "MyFamilysPeers" ou "KevinsPokerTable", pode facilmente colidir com outros nomes de usuário e pode retornar informações não intencionais de pontos finais, o que pode resultar em problemas de privacidade ou aumentar a latência da conexão. Uma maneira de evitar esses problemas pode ser adicionar um ID exclusivo como um postfix para o apelido para a malha (por exemplo, "KevinsPokerTable90210").

Inundação de mensagens

  • A malha permite que as mensagens sejam propagadas de um ou mais remetentes para todos os outros nós de mesmo nível na mesma malha. As mensagens inundadas por nós de mesmo nível usam cabeçalhos especificados no namespace em http://schemas.microsoft.com/net/2006/05/peer.

Conexões otimizadas

  • Uma malha Peer Channel ajusta automaticamente quando os nós entram e saem, garantindo que todos os nós tenham boa conectividade com pouca chance de criar partições (grupos de nós isolados uns dos outros). As conexões na malha também são otimizadas dinamicamente com base nos padrões de tráfego atuais para que a latência da mensagem do remetente para o recetor seja a menor possível.

É importante estar ciente dos recursos de rede populares que o Peer Channel não fornece. Esses recursos, que podem ser todos construídos sobre o Peer Channel, incluem o seguinte:

  • Ordenação de mensagens: as mensagens originadas de uma única fonte podem não chegar a todas as outras partes na mesma ordem ou na ordem em que a fonte enviou. Os aplicativos que exigem que as mensagens sejam entregues em uma determinada ordem devem incorporá-lo em seus aplicativos (por exemplo, incluindo um ID monotonicamente crescente com todas as mensagens).

  • Mensagens confiáveis: o Peer Channel não inclui um mecanismo para garantir a receção de mensagens por todos os pares. Para garantir a entrega de mensagens, você deve escrever uma camada de confiabilidade sobre o canal de mesmo nível.