O Memcached suporta IPv6

4

Alguém usou o Memcached com o IPv6? Você pode fornecer dicas de configuração, dicas ou mencionar problemas de estabilidade que você teve?

    
por amateur barista 18.05.2011 / 23:07

2 respostas

3

o memcached suporta o IPv6. Você pode especificá-lo na inicialização usando o parâmetro -l . Como o IPv4 e o IPv6 se comportam em comparação com uma instalação padrão? Vamos dar uma olhada em uma sessão Debian onde instalamos o memcached, ouvindo a (s) porta (s) padrão, e iniciamos dois daemons memcached, um ligado a um IP da v6 e um ligado a um IP da v4.

Linux hostname 3.0.4-linode38 #1 SMP Thu Sep 22 14:59:08 EDT 2011 i686

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

root@hostname:~# apt-get install memcached

Setting up memcached (1.4.5-1) ...
Starting memcached: memcached.

root@hostname:~# apt-get install libmemcached-tools libmemcached-dev

Setting up libmemcached-tools (0.40-1) ...

root@hostname:~# memccapable 
ascii quit                              [pass]
ascii version                           [pass]
ascii verbosity                         [FAIL]
1 of 54 tests failed

Podemos usar memccapable para verificar se memcached está sendo executado.


root@hostname:~# memcached -d -P /tmp/mcd.pid -v -l 2600:3c03::dead:beef:feeb:daed -u nobody -p 10001 -U 10001
root@hostname:~# memcached -d -P /tmp/mcd2.pid -v -l 10.0.1.2 -u nobody -p 10002 -U 10002

Acabamos de iniciar nosso memcached IPv6 na porta 10001 e nosso memcached IPv4 na porta 10002

root@hostname:~# memcstat --servers=127.0.0.1:11211,127.0.0.1:10001,127.0.0.1:10002
Server: 127.0.0.1 (11211)
     pid: 2131
     uptime: 689
     time: 1325757557
     version: 1.4.5

Server: 127.0.0.1 (10001)
     pid: 0
     uptime: 0
     time: 0
     version: 

Server: 127.0.0.1 (10002)
     pid: 0
     uptime: 0
     time: 0
     version: 

memcstat nos permite verificar o status de vários hosts de uma só vez. Vemos que o memcached não está vinculado às portas localhost 10001 ou 10002 , o que faz sentido, já que especificamos nosso IP (s) explicitamente. Agora vamos verificar nosso endereço IPv4 para os servidores do memcached em cada uma das portas.

root@hostname:~# memcstat --servers=10.0.1.2:11211,10.0.1.2:10001,10.0.1.2:10002
Server: 10.0.1.2 (11211)
     pid: 0
     uptime: 0
     time: 0
     version: 

Server: 10.0.1.2 (10001)
     pid: 0
     uptime: 0
     time: 0
     version: 

Server: 10.0.1.2 (10002)
     pid: 2699
     uptime: 89
     time: 1325757596
     version: 1.4.5

Vemos que nosso memcached IPv6 não está acessível em nosso endereço IPv4. memcstat não é (como no Debian 6.0.3) ccapable de pegar endereços IPv6 na linha de comando, então nós faremos três memccapable's separados.

root@hostname:~# memccapable -h 2600:3c03::dead:beef:feeb:daed -p 11211
ascii quit                              [pass]
ascii version                           [pass]
ascii verbosity                         [FAIL]
1 of 54 tests failed

root@hostname:~# memccapable -h 2600:3c03::dead:beef:feeb:daed -p 10001
ascii quit                              [pass]
ascii version                           [pass]
ascii verbosity                         [FAIL]
1 of 54 tests failed

root@hostname:~# memccapable -h 2600:3c03::dead:beef:feeb:daed -p 10002
Failed to connect socket: Connection refused
Failed to connect to : Connection refused

root@hostname:~# 

Isso é interessante. A instalação padrão do memcached está vinculada ao localhost e ao endereço IPv6, mas não ao nosso endereço IPv4. Isso pode ser específico do servidor / ambiente de hospedagem. É importante observar que nossa porta explicitamente definida 10002 no endereço IPv4 não está disponível, especificando nosso endereço IPv6 e nossa instância da porta 10001.

Então, sim, o memcached suporta o IPv6. Você também pode especificar essas opções no arquivo /etc/memcached.conf. Por favor, tome nota do aviso nesse arquivo que sugere apenas ouvir em uma interface que é protegida por firewall. Se sua interface IPv6 for pública / acessível, você corre o risco de expor itens de cache confidenciais.

    
por 05.01.2012 / 11:24
3
o memcached 1.2.5 e posterior deve ter suporte a IPv6.
Não posso garantir sua funcionalidade, pois não uso pessoalmente o memcached, mas uma pesquisa por "IPv6" em seus O rastreador de bugs não mostra nada notoriamente quebrado, então eu tenho que assumir que ele funciona para pelo menos uma primeira aproximação:)

    
por 23.05.2011 / 23:55