É uma experiência comum se deparar com erros de conexão de rede quando estiver desenvolvendo um aplicativo, principalmente se estiver se conectando do SDK do seu computador local a um cluster remoto.

Seu SDK não está conectado? É provável que você se depare com situações em que seu aplicativo pode se conectar ao servidor, mas você recebe erros relacionados à conexão de rede ou aos endereços IP entre os nós ou seu aplicativo e o SDK do Couchbase.

Este artigo discute como você pode solucionar e corrigir esses erros. O exemplo que apresentaremos a seguir cria um cluster no Azure para demonstrar as condições iniciais, mas também deve ser aplicável a outras instalações.

Examinaremos cada etapa para reproduzir o erro. Primeiro, instalaremos o Couchbase no Azure, execute o SDK Doctor para ver como o erro se manifesta, atualize os endereços alternativos e, por fim, execute o SDK Doctor novamente para ver a resposta bem-sucedida.

Muito bem, vamos nos aprofundar.

Instalar seu cluster do Couchbase no Azure

Aqui estão as etapas para instalar um cluster do Couchbase no Azure.

  1. Faça login em o Microsoft Azure Marketplace
  2. Busca por Couchbase
  3. Escolha o Couchbase Server e o Sync Gateway
  4. Clique em Get It Now
  5. Escolha BYOL
  6. Clique em Continuar
  7. Clique em Criar
  8. Preencher o formulário
  9. Admin: asdf88495 < Atualize isso conforme apropriado
  10. Senha: Senha1!@#$ < Atualize isso conforme apropriado
  11. Preencher os formulários de configuração conforme apropriado
  12. Clique em Criar

O processo é executado e tem a seguinte aparência após a conclusão de todas as etapas:

Azure completed process after adding Couchbase

Atualizar regras de firewall

É provável que você precise atualizar as regras de firewall para permitir que seu computador local se conecte ao cluster remoto do Azure. Aqui estão as etapas:

1. Ir para o grupo de recursos

2. Clique em Virtual machine scale set

Microsoft Azure virtual machine scale set

3. Clique em Rede

Couchbase on Azure Networking option

4. Clique em Add inbound port rule (Adicionar regra de porta de entrada)

Azure add inbound port rule button

5. Atualize a configuração para usar as informações de sua rede local. Aviso: Isso é muito aberto para os fins desta demonstração; você deve seguir suas diretrizes de segurança ao configurar o firewall.

Local network firewall configuration

Confirme se o Couchbase está funcionando

Sua próxima etapa importante é confirmar que o Couchbase está funcionando. Veja como fazer isso:

1. Vá para instâncias para obter um endereço IP e conecte-se ao painel de controle do Couchbase.

Couchbase control panel using IP address

2. Obtenha o endereço IP de um de seus servidores.

Couchbase server IP address

3. Neste exemplo, o login é http://40.80.151.197:8091/ui/index.html.

4. Faça login com as informações usadas para criar a conta de administrador na seção "Instalar o cluster do Couchbase no Azure" acima. Foi aqui que você criou o cluster no Azure e preencheu o formulário.

5. No Couchbase, adicione dados de amostra para usar nesta demonstração. Siga a seção instruções na documentação do Couchbase para adicionar dados de buckets de amostra.

Apresentando o SDK Doctor

O Couchbase SDK doctor é uma ferramenta para diagnosticar problemas de conectividade no lado do servidor do aplicativo com o cluster do Couchbase. Ele faz as mesmas conexões com o Servidor Couchbase que os SDKs do Couchbase fazem durante a inicialização e, em seguida, relata o estado das conexões feitas, fornecendo informações de diagnóstico que o ajudam a resolver problemas de rede complexos.

Aqui está o conjunto completo de instruções para usar o SDK Doctor com o Couchbase Server.

1. Executando o SDK Doctor para detectar erros

Seguindo as instruções acima, onde você coletou o endereço IP do seu cluster do Couchbase, obtenha também os endereços IP de cada um dos outros nós do seu cluster. Você usará os endereços IP na string de conexão para o SDK Doctor.

O comando abaixo usa os endereços IP dos nós em seu cluster, além do nome do bucket de dados de amostra. Você precisará atualizar essas informações com base nos IPs do seu próprio cluster e no bucket de amostra específico que instalou.

Agora, execute o SDK Doctor.

Você provavelmente receberá várias mensagens de erro, como pode ver abaixo, especialmente se estiver executando o SDK Doctor em um computador local e não na mesma rede que os nós/cluster/VMs. Você verá a mensagem ERRO e Falha na conexão mensagens. Observe que os endereços IP são os 10 endereços internos, não os 40 ou 13.

Talvez seja necessário clicar duas vezes no exemplo de código abaixo para ver a saída completa (dependendo do seu dispositivo).

Usando o endereço alternativo do Couchbase

O Couchbase Server permite que um endereço alternativo seja atribuído a qualquer nó de cluster individual e que um número de porta alternativo seja atribuído a qualquer serviço executado nesse nó.

A atribuição de endereços e números de porta alternativos, que pode ser realizada por meio da CLI e da API REST, pode facilitar a comunicação com aplicativos externos que não têm permissão para entrar em contato direto com os nós de um cluster. No entanto, eles podem ter acesso a um roteador ou outra entidade em rede que forneça endereços visíveis externamente em nome dos nós.

Mergulhe no a documentação do Couchbase sobre o uso de endereços alternativos para saber mais.

Adicionar o endereço alternativo do Couchbase

Há uma chamada REST para atualizar o endereço alternativo de seu cluster do Couchbase. (Para obter mais informações, confira a documentação do Couchbase sobre o gerenciamento de endereços alternativos com a API REST.)

Em seguida, você deverá atualizar o endereço alternativo para cada endereço IP no cluster. Isso mapeia o endereço interno para o endereço IP que você especificar.

Você deve receber uma resposta 200, como pode ver abaixo.

Repita o comando para os outros hosts também, da seguinte forma:

2. Execução do SDK Doctor para confirmar o sucesso

Agora, execute o SDK Doctor novamente para confirmar o sucesso. Você deverá obter algo parecido com o que está abaixo:

Talvez seja necessário clicar duas vezes no exemplo de código abaixo para ver a saída completa (dependendo do seu dispositivo).

Sucesso!

Conclusão

A conexão com clusters do Couchbase na nuvem oferece muitas vantagens. Mas, às vezes, devido a vários requisitos de rede e segurança, a natureza remota e distribuída dos sistemas pode causar complicações entre o SDK do seu aplicativo e o cluster do Couchbase.

Ao usar o Couchbase SDK Doctor e Alternate Addresses, você pode solucionar facilmente quaisquer complicações que surjam e corrigir problemas de conexão imediatamente.

Pronto para experimentar o Couchbase Server por conta própria?Dê uma olhada no Couchbase 7

 

Autor

Postado por David Elliott, engenheiro de soluções

Engenheiro de soluções da Couchbase, especialista em todos os ofícios, mestre em alguns.

Deixar uma resposta