Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouNatan Lindo Alterado mais de 10 anos atrás
1
Web Caching with Consistent Hashing
2
Problemas com a Web Redes congestionadas Servidores atolados
3
Web Caching Utilizar conteúdo de um servidor intermediário ao invés de utilizar o conteúdo do servidor original Implementações Tradicionais Cache centralizado Cache centralizado cooperativo Cache hierárquico Diretório
4
Hashing Mapeia endereços diretamente para máquinas cache Não há necessidade de dados duplicados Não há necessidade de servidores centralizados Não há necessidade de comunicação entre as máquinas cache Porém a utilização de uma função hash padrão não suporta servidores dinâmicos
5
Consistent Hashing Utilização de uma função (f) hash normal [0,M] Divide-se o valor obtido pela função pelo seu valor máximo (M) [0,1] É formado o círculo unitário Cada cache é associado a um ponto no círculo unitário Cada endereço é associado ao cache que esteja localizado no círculo unitário mais próximo dele caminhando no sentido horário
6
Consistent Hashing
7
Pode ser implementado utilizando uma árvore binária Tempo médio de busca para n caches é O(log(n)) Lógica de busca fica no browser Ou no DNS, que acabou sendo a solução escolhida
8
Propriedades Para m máquinas cache e c clientes (com cada com a visão de metade das máquina cache) Balanço: Em qualquer visão, os endereços estão distribuídos uniformemente sobre as máquinas caches Carga: Em todas as visões, nenhuma máquina tem mais do que O(log(c)) vezes em média o número de endereços Espalhamento: Nenhum endereço é armazenado em mais do que O(log(c)) caches
9
Consistent Hashing Resultados para 26804 endereços diferentes: Caches# médio de endereços por cache Desvio padrão Desvio padrão como % da média 389342462.5 553601733.2 833501123.4 102680682.6
10
Implementação Apesar de parecer bastente simples implementar Consistent Hashing, os browsers atuais não provêm bons mecanismos de extensão Solução híbrida utilizando JavaScript + DNS (Cache Resolver)
11
Implementação Parte JavaScript: Realiza um hash padrão sobre o endereço mapeando-o para um intervalo de 1000 nomes de caches virtuais Parte DNS: Mapeia uma cache virtual para um endereço IP físico utilizando Consistent Hashing
12
Implementação Foi utilizado BIND 8.0 sem modificações Em conjunto com BIND, um processo chamado dnshelper monitora os caches e envia sinais para o BIND notificando-o sobre novos endereços mapeados
13
Consistent × Central
14
Consistent × Cooperative
16
Extensões Localidade Mecanismo para clientes utilizarem caches geograficamente mais próximos Utiliza o serviço DNS em duas camadas Balanceamento de Carga Avançado Identifica as Hot Pages Utiliza DNS para referenciar Hot Pages para vários caches diferentes Tolerância a Falhas A implementação de Consistent Hashing já é bastante tolerante a falhas
17
Conclusão Caching é uma solução para os problemas de tráfego enfrentados pela Web Consistent Hashing é uma alternativa simples e eficiente para implementar caching O uso eficiente de caching e consistent hashing pode aumentar significativamente a eficiência da Web
18
Como vender isso? Venda caching para os servidores, não para os clientes www.akamai.com
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.