É uma experiência comum encontrar erros de conexão de rede ao desenvolver um aplicativo – particularmente se você estiver 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 sua aplicação consegue se conectar ao servidor, mas você obtém erros relacionados à conexão de rede ou endereços IP entre os nós ou entre sua aplicação e o SDK do Couchbase.
Este artigo discute como você pode solucionar e corrigir esses erros. O exemplo que analisaremos abaixo cria um cluster no Azure para demonstrar as condições iniciais, mas também deve ser aplicável a outras instalações.
Passaremos por cada etapa para reproduzir o erro. Primeiro, instalaremos Couchbase no Azure, execute o SDK Doctor para ver como o erro se manifesta, atualize os endereços alternativos e, finalmente, execute o SDK Doctor novamente para ver a resposta bem-sucedida.
Ok, vamos lá.
Instale seu cluster do Couchbase no Azure
Aqui estão os seus passos para instalar um cluster do Couchbase no Azure.
- Entrar o Microsoft Azure Marketplace
- Pesquisar por Couchbase
- Escolha o Couchbase Server e o Sync Gateway
- Clique em Obter Agora
- Escolha BYOL
- Clique em Continuar
- Clique em Criar
- Preencher o formulário
- Administrador:
asdf88495< Atualize isso conforme apropriado - Senha:
Senha1!@#$< Atualize isso conforme apropriado - Preencha os formulários de configuração conforme apropriado
- Clique em Criar
O processo é executado e fica assim depois que você conclui todas as etapas:

Atualizar Regras de Firewall
Provavelmente você precisa atualizar as regras de firewall para permitir que seu computador local se conecte ao cluster remoto do Azure. Aqui estão os passos:
1. Ir para o Grupo de Recursos
2. Clique em Conjunto de dimensionamento de máquinas virtuais

3. Clique em Rede

4. Clique em Adicionar regra de porta de entrada

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

Confirmar que o Couchbase está Funcionando
Seu próximo grande passo é confirmar que o Couchbase está ativo e funcionando. Veja como fazer isso:
1. Vá até instâncias para obter um endereço IP e conectar-se ao painel de controle do Couchbase.

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

3. Neste exemplo, o login é https://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 “Instale seu Cluster 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 o instruções na documentação do Couchbase para adicionar dados de buckets de exemplo.
Apresentando o Médico do SDK
O Couchbase SDK doctor é uma ferramenta para diagnosticar problemas de conectividade do lado do servidor de aplicação com o seu cluster Couchbase. Ele faz as mesmas conexões para o Couchbase Server cluster 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 ajudam a resolver problemas complexos de rede.
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 para o seu cluster 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 do seu cluster, além do nome do bucket de dados de exemplo. Você precisará atualizar esta informação com base nos IPs do seu próprio cluster e no bucket de exemplo específico que você 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 a partir de um computador local e não na mesma rede dos nós/cluster/VMs. Você verá o ERRO e Falha ao conectar mensagens. Observe que os endereços IP são os endereços internos 10, não o 40 ou 13.
Você pode precisar dar um clique duplo no exemplo de código abaixo para ver a saída completa (dependendo do seu dispositivo).
|
1 |
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 um número de porta alternativo seja atribuído a qualquer serviço em execução nesse nó.
A atribuição de endereços alternativos e números de porta – 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 contatar diretamente 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 em 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 do seu cluster Couchbase. (Para mais informações, confira a documentação do Couchbase sobre o gerenciamento de endereços alternativos com a API REST.)
Em seguida, você precisará 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.
|
1 |
curl –v –X COLOCAR –u asdf88495:Senha1!@#$ https://40.80.151.197:8091/node/controller/setupAlternateAddresses/external -d hostname=40.80.151.197 |
Você deve receber uma resposta 200, como pode ver abaixo.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
* Tentando 13.82.230.238… * TCP_NODELAY definir * Conectado para 13.82.230.238 (13.82.230.238) porto 8091 (#0) * Servidor autenticação usando Básico com usuário ‘asdf88495’ > COLOCAR /nó/controlador/configurarEnderecosAlternativos/externo HTTP/1.1 > Anfitrião: 13.82.230.238:8091 > Autorização: Básico YXNkZjg4NDk1OlBhc3N3b3JkMSFAIyQ= > Usuário–Agente: curl/7.55.1 > Aceitar: */* > Conteúdo–Comprimento: 22 > Conteúdo–Tipo: aplicativo/x–www–formulário–codificado em URL > * carregar completamente enviado desligado: 22 fora de 22 bytes < HTTP/1.1 200 OK < X–XSS–Proteção: 1; modo=bloquear < X–Permitido–Cruz–Domínio–Políticas: nenhum < X–Quadro–Opções: NEGAR < X–Conteúdo–Tipo–Opções: nosniff < Servidor: Couchbase Servidor < Pragma: não–cache < Expira: Qui, 01 Janeiro 1970 00:00:00 GMT < Data: Segunda-feira, 28 Jun 2021 18:59:31 GMT < Conteúdo–Comprimento: 0 < Cache–Controle: não–cache,não–loja,deve–revalidar |
Repita o comando para os outros hosts também, assim:
|
1 |
curl –v –X COLOCAR –u asdf88495:Senha1!@#$ https://40.80.146.52:8091/node/controller/setupAlternateAddresses/external -d hostname=40.80.146.52 |
|
1 |
curl –v –X COLOCAR –u asdf88495:Senha1!@#$ https://13.82.230.238:8091/node/controller/setupAlternateAddresses/external -d hostname=13.82.230.238 |
2. Executando o SDK Doctor para confirmar o sucesso
Agora, execute o SDK Doctor novamente para confirmar o sucesso. Você deve obter algo parecido com isto abaixo:
Você pode precisar dar um clique duplo no exemplo de código abaixo para ver a saída completa (dependendo do seu dispositivo).
|
1 |
Sucesso!
Conclusão
Conectar-se a 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 Endereços Alternativos, você pode solucionar facilmente quaisquer complicações que surgirem e corrigir problemas de conexão imediatamente.
Pronto para experimentar o Couchbase Server por conta própria?
Teste o Couchbase 7

Deixe um comentário
Você precisa fazer o login para publicar um comentário.