
Temos uma máquina rodando em Linux onde estamos expondo e também consumindo serviços da web baseados em SOAP que usam configurações de Keep Alive. Agora, quando alterarmos o valor do tempo limite de manutenção do TCP definindo "/proc/sys/net/ipv4/tcp_keepalive_time" no Linux, isso afetará os clientes e servidores TCP em execução nesta caixa Linux?
Informações adicionais: Usamos endpoints apache camel-cxf implantados em apache karaf (servicemix) para expor e consumir serviços da web baseados em SOAP.
Responder1
O suporte integrado do kernel Linux para TCP keepalive afetatodosSoquetes TCP habilitados para keepalive.
Porém, o keepalive do TCP não está habilitado por padrão: os aplicativos devem solicitar explicitamente o controle de keepalive para seus soquetes usando a setsockopt
interface.
Você pode verificar se o keepalive está habilitado em um soquete específico usando o netstat
comando com a -o, --timers
opção:
Aqui você pode ver que o mesmo processo pode abrir diferentes soquetes de rede em ambos os modos:
# netstat -anpo | grep 8999
tcp 0 0 10.10.171.44:48744 10.10.139.30:8999 ESTABLISHED 18232/java keepalive (83.39/0/0)
# netstat -anpo | grep 8009
tcp 0 0 10.10.171.44:8009 10.10.171.42:40947 ESTABLISHED 18232/java off (0.00/0/0)