Herramientas y SDK

Cómo solucionar problemas de conexión con SDK utilizando SDK Doctor y direcciones alternativas de Couchbase

Es una experiencia común encontrarse con errores de conexión de red cuando está desarrollando una aplicación - particularmente si se está conectando desde el SDK de su ordenador local a un cluster remoto.

¿Su SDK no está conectado? Es probable que te encuentres con situaciones en las que tu aplicación pueda conectarse al servidor pero te aparezcan errores relacionados con la conexión de red o las direcciones IP entre los nodos o tu app y el SDK de Couchbase.

En este artículo se explica cómo solucionar y corregir estos errores. El ejemplo que veremos a continuación crea un clúster en Azure para demostrar las condiciones iniciales, pero también debería ser aplicable a otras instalaciones.

Repasaremos cada paso para reproducir el error. En primer lugar, instalaremos Couchbase en Azure, luego ejecute SDK Doctor para ver cómo se manifiesta el error, luego actualice las direcciones alternativas y, por último, vuelva a ejecutar SDK Doctor para ver la respuesta satisfactoria.

Bueno, vamos a sumergirnos.

Instale su clúster Couchbase en Azure

Estos son los pasos para instalar un clúster de Couchbase en Azure.

  1. Entrar en Microsoft Azure Marketplace
  2. Buscar Couchbase
  3. Elija Couchbase Server y Sync Gateway
  4. Haga clic en Obtener ahora
  5. Elija BYOL
  6. Haga clic en Continuar
  7. Haga clic en Crear
  8. Rellenar formulario
  9. Admin: asdf88495 < Actualizar esto según proceda
  10. Contraseña: Contraseña1 @#$ < Actualizar esto según proceda
  11. Cumplimentar los formularios de configuración según proceda
  12. Haga clic en Crear

El proceso se ejecuta y se ve así una vez que hayas completado todos los pasos:

Azure completed process after adding Couchbase

Actualizar las reglas del cortafuegos

Es probable que necesite actualizar las reglas del cortafuegos para permitir que su equipo local se conecte al clúster Azure remoto. Estos son los pasos:

1. Ir al grupo de recursos

2. Haga clic en Conjunto de escalas de máquinas virtuales

Microsoft Azure virtual machine scale set

3. Haga clic en Red

Couchbase on Azure Networking option

4. Haga clic en Añadir regla de puerto de entrada

Azure add inbound port rule button

5. Actualiza la configuración para utilizar la información de tu red local. Advertencia: Esto es muy abierto para los propósitos de esta demostración, usted debe seguir sus directrices de seguridad al configurar el firewall.

Local network firewall configuration

Confirmar que Couchbase está en funcionamiento

El siguiente paso importante es confirmar que Couchbase está funcionando. He aquí cómo hacerlo:

1. Ve a instancias para obtener una dirección IP y conéctate al panel de control de Couchbase.

Couchbase control panel using IP address

2. Obtenga la dirección IP de uno de sus servidores.

Couchbase server IP address

3. En este ejemplo, el nombre de usuario es http://40.80.151.197:8091/ui/index.html.

4. Inicia sesión con la información utilizada para crear la cuenta de administrador de la sección "Instala tu clúster Couchbase en Azure" anterior. Aquí es donde creaste el clúster en Azure y completaste el formulario.

5. En Couchbase, añada los datos de muestra que utilizará para esta demostración. Siga las instrucciones instrucciones en la documentación de Couchbase para añadir datos de buckets de muestra.

Presentación del SDK Doctor

El doctor del SDK de Couchbase es una herramienta para diagnosticar problemas de conectividad del lado del servidor de la aplicación con tu cluster de Couchbase. Realiza las mismas conexiones al Servidor Couchbase que los SDKs de Couchbase hacen durante el bootstrapping, y luego informa sobre el estado de las conexiones realizadas - dando información de diagnóstico que ayuda a resolver problemas de red desconcertantes.

Aquí está el conjunto completo de instrucciones para utilizar el SDK Doctor con Couchbase Server.

1. Ejecutar el SDK Doctor para detectar errores

Siguiendo las instrucciones anteriores - donde recogiste la dirección IP de tu cluster Couchbase - obtén también las direcciones IP de cada uno de los otros nodos de tu cluster. Utilizarás las direcciones IP en la cadena de conexión para el SDK Doctor.

El siguiente comando utiliza las direcciones IP de los nodos de su clúster además del nombre del bucket de datos de muestra. Deberá actualizar esta información en función de las IP de su propio clúster y del bucket de muestra específico que haya instalado.

Ahora, ejecute el SDK Doctor.

Probablemente obtendrá un montón de mensajes de error - como puede ver a continuación - especialmente si está ejecutando SDK Doctor desde un ordenador local y no en la misma red que los nodos/cluster/VMs. Verá el mensaje ERROR y Error de conexión mensajes. Observe que las direcciones IP son las 10 internas, no las 40 ni las 13.

Es posible que tenga que hacer doble clic en el código de ejemplo para ver el resultado completo (dependiendo de su dispositivo).

Uso de la dirección alternativa de Couchbase

Couchbase Server permite asignar una dirección alternativa a cualquier nodo individual del cluster, y un número de puerto alternativo a cualquier servicio que se ejecute en ese nodo.

La asignación de direcciones y números de puerto alternativos -que puede realizarse mediante la CLI y la API REST- puede facilitar la comunicación con aplicaciones externas que no tienen permiso para contactar directamente con los nodos de un clúster. Sin embargo, pueden tener acceso a un enrutador u otra entidad en red que proporcione direcciones visibles externamente en nombre de los nodos.

Sumérgete en la documentación de Couchbase sobre el uso de direcciones alternativas para obtener más información..

Añadir la dirección alternativa de Couchbase

Existe una llamada REST para actualizar la dirección alternativa de tu clúster Couchbase. (Para más información, consulte la documentación de Couchbase sobre la gestión de direcciones alternativas con la API REST.)

A continuación, deberá actualizar la dirección alternativa de cada dirección IP del clúster. Esto asigna la interna a la dirección IP que usted especifique.

Deberías obtener una respuesta 200, como puedes ver a continuación.

Repita el comando para los otros hosts también, así:

2. Ejecutar el SDK Doctor para confirmar el éxito

Ahora, ejecute el SDK Doctor de nuevo para confirmar el éxito. Debería obtener algo como lo siguiente:

Es posible que tenga que hacer doble clic en el código de ejemplo para ver el resultado completo (dependiendo de su dispositivo).

¡Éxito!

Conclusión

Conectarse a clusters de Couchbase en la nube ofrece muchas ventajas. Pero a veces -debido a diversos requisitos de red y seguridad- la naturaleza remota y distribuida de los sistemas puede causar complicaciones entre el SDK de tu app y el clúster de Couchbase.

Mediante el uso de las direcciones Doctor y Alternate del SDK de Couchbase, puede solucionar fácilmente cualquier complicación que surja y solucionar los problemas de conexión de inmediato.

¿Listo para probar Couchbase Server?Pruebe Couchbase 7

 

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por David Elliott, Ingeniero de soluciones

Ingeniero de soluciones en Couchbase, aprendiz de todo, maestro de algo.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.