Servidor Couchbase

Escalado de Couchbase Server en Azure

Escalar es uno de los puntos fuertes de Couchbase Server. Es fácil de escalar, y la arquitectura de Couchbase hace un uso eficiente de tus recursos de escalado. De hecho, cuando Viber, cliente de Couchbase, cambió de Mongo a Couchbase, redujeron la el número de servidores que necesitaban.

Esta entrada del blog es la tercera de una serie (suelta) de entradas sobre Azure.

El primer post te mostraba el beneficios de informática sin servidor en Azure con Couchbase.

El segundo post mostraba un ejemplo concreto de creación de un chatbot utilizando funciones Azure y Couchbase Server.

El post anterior sólo utilizaba un clúster con un único nodo a efectos de demostración. Ahora supongamos que has estado en producción durante un tiempo, y tu chatbot está empezando a ser muy popular. Necesitas escalar tu cluster de Couchbase. Si desplegaste Couchbase desde Mercado AzureEsto es pan comido. En pocas palabras: basta con mover un control deslizante. Pero este post le llevará a través de todos los detalles:

  1. Creación de un nuevo clúster con 3 nodos.

  2. Escalado del clúster hasta 5 nodos.

  3. Reducción del clúster a 4 nodos.

Crear un clúster de Couchbase en Azure

Si dispone de una cuenta Azure, inicie sesión en el portal. Si aún no la tiene,
Empezar a utilizar Azure es fácil y gratuito
.

Una vez que hayas iniciado sesión, haz clic en "+ Nuevo" y busca Couchbase Server en el mercado. Estoy usando BYOL (traiga su propia licencia) para la demostración, pero también hay una opción de "Precios por hora" que viene con soporte plata.

Couchbase in the Azure Marketplace

Una vez que seleccione Couchbase, se le llevará a través de un asistente de instalación de Azure. Haz clic en el botón "Crear" para empezar.

Azure step 0 - create

El paso 1 es el "Básico". Rellena el nombre de usuario y la contraseña que quieres para Couchbase, el nombre de un grupo de recursos y una ubicación (yo elegí North Central US porque me queda cerca geográficamente). Asegúrate de anotar esta información, ya que la necesitarás más adelante.

Azure step 1 - basics

El siguiente paso es Couchbase Config. Hay algunos tipos de máquinas virtuales recomendadas. Yo utilicé DS1_V2 para mantener esta entrada de blog barata, pero probablemente quieras al menos 4 núcleos y 4gb de RAM para tu entorno de producción. También decidí no instalar ningún nodo Sync Gateway, pero si planeas usar Couchbase Mobile, también los necesitarás. Estoy pidiendo un total de 3 nodos para Couchbase Server.

Azure step 2 - Couchbase Config

Después de esto, el paso 3 es sólo un resumen de la información que ha introducido.

Azure step 3 - summary

El último paso es "comprar". Esto le muestra las condiciones. Un botón "Crear" es todo lo que queda.

Azure step 4 - buy

Ahora, Azure se pondrá a trabajar aprovisionando 3 VMs, instalando Couchbase Server en ellas, y luego creando un cluster. Esto llevará un poco de tiempo. Recibirás una notificación de Azure cuando haya terminado.

Azure provisioning VMs

Tendrás tiempo suficiente para tomarte una buena bebida.

Uso de su clúster Couchbase

Cuando Azure termine con el despliegue, vaya a ver "Grupos de recursos" en el portal de Azure. Busca tu grupo de recursos. El mío se llamaba mi_grupo_de_recursos_cb.

Azure resource groups

Haz clic en el grupo de recursos. Dentro de ese grupo de recursos, verás 4 cosas:

  • grupos de seguridad de la red (se trata básicamente de reglas de cortafuegos)

  • vnet (la red en la que están todos los recursos del grupo)

  • servidor (instancias de Couchbase Server)

  • syncgateway (Instancias de Couchbase Sync Gateway. No pedí ninguna, así que es una agrupación vacía).

Azure resource group drill down

Primero, haz clic en "servidor" y, a continuación, en "instancias". Deberías ver 3 servidores (o los que hayas aprovisionado).

Couchbase Servers provisioned

A continuación, haz clic en "despliegues". Debería ver uno para Couchbase en la lista. Haga clic en él para obtener más información sobre el despliegue.

Azure deployment

La siguiente pantalla te indicará la URL que necesitas para acceder a la interfaz de usuario de Couchbase Server (y a la interfaz de usuario de Sync Gateway, si la has instalado). Debería ser algo parecido a: http://vm0.server-foobarbazqux.northcentralus.cloudapp.azure.com:8091.

Azure deployment info

Pegue esa URL en un navegador. Accederá a la pantalla de inicio de sesión de Couchbase Server. Utilice las credenciales que especificó anteriormente para iniciar sesión.

Couchbase Server login

Después de iniciar sesión, haz clic en "servidores". Verás los tres servidores listados aquí. Las URL coincidirán con las implementaciones que veas en el portal de Azure.

¡Pongamos algunos datos en esta base de datos! Ve a Ajustes → Cubos de muestra y carga el cubo 'muestra-viaje'.

Load sample data

Esta muestra de datos contiene 31591 documentos. Cuando termine de cargarse, vuelve a "servidores". Puedes ver cómo los "ítems" (y réplicas de ítems) están distribuidos uniformemente entre los tres servidores. Cada nodo en Couchbase puede hacer tanto lecturas como escrituras, así que esta no es una situación de maestro/esclavo o de conjuntos de réplicas de sólo lectura.

Couchbase servers

Ampliación

Ahora, supongamos que tu aplicación está despegando y necesitas escalarla para proporcionar capacidad adicional, almacenamiento y rendimiento. Dado que estamos utilizando Couchbase desplegado desde el marketplace de Azure, esto es aún más fácil de lo habitual. Ve al portal de Azure, vuelve al grupo de recursos y haz clic en "servidor" de nuevo. Ahora haz clic en "escalado".

Azure scaling

A continuación, verás un control deslizante que puedes ajustar para añadir más instancias. Vamos a subirlo a 5 servidores en total. Asegúrate de hacer clic en "Guardar".

Azure scaling slider

Ahora, vuelve a 'instancias' de nuevo. Nota: es posible que tenga que actualizar la página. Azure no parece querer actualizar la página obsoleta servida al navegador por su cuenta. Ahora verá servidor_3 y servidor_4 en estado "creando".

Scaling additional servers

Tendrás que esperar a que Azure los despliegue. Mientras tanto, puedes volver a la interfaz de usuario de Couchbase Server y esperar a que aparezcan allí también.

New Couchbase Server nodes

Al añadir nuevos servidores, el cluster debe estar reequilibrado. La implementación de Azure debería intentar hacerlo automáticamente (pero en caso de que falle, también puede activar el reequilibrio manualmente).

Couchbase rebalancing

Durante este periodo de reequilibrio, el clúster sigue siendo accesible desde sus aplicaciones. No habrá tiempo de inactividad. Una vez finalizado el reequilibrio, podrá ver que el # de elementos en cada servidor ha cambiado. Se ha redistribuido (junto con las réplicas).

Cluster after rebalance

Eso es todo. Es más o menos sólo mover un control deslizante y esperar unos minutos.

Reducción de escala

En algún momento, es posible que desee reducir su clúster. Tal vez necesite 5 servidores durante una determinada parte del año, pero solo necesite 3 durante otras partes, y le gustaría ahorrar algo de dinero en su factura de Azure.

Una vez más, se trata simplemente de ajustar el control deslizante. Sin embargo, es una buena idea reducir la escala de un servidor a la vez para evitar cualquier riesgo de pérdida de datos.

Scaling down slider

Cuando reduzcas, Azure elegirá una VM para desmantelar. Couchbase Server puede responder de dos maneras:

  • El comportamiento por defecto es simplemente indicar que un nodo está caído. Esto podría activar una alerta por correo electrónico. Aparecerá como "caído" en la interfaz de usuario.

  • Auto-failover puede ser activado. Esto significa que una vez que un nodo está caído, el cluster Couchbase automáticamente lo considerará 'fallido', promoverá las réplicas en otros nodos, y reequilibrará el cluster.

Voy a dejar el auto-failover desactivado y mostrar el comportamiento por defecto.

En primer lugar, el servidor mostrará un estado de "borrado" en el portal de Azure.

Scaling down - deleting

Poco después, Couchbase reconocerá que un nodo no responde. Sugerirá la conmutación por error para "activar las réplicas disponibles".

Couchbase failing node

Voy a seguir adelante y hacer precisamente eso.

Manual failover

Una vez eliminado del clúster, tendrás que activar un "reequilibrio".

Manual rebalance

Resumen y recursos

Escalar un clúster de Couchbase en Azure es simplemente cuestión de usar el deslizador.

Si está reduciendo la escala, considere la posibilidad de hacerlo de nodo en nodo.

Para más información, consulte estos recursos:

Si tiene alguna pregunta, póngase en contacto conmigo en Twitter @mgroves o deja un comentario.

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

Autor

Publicado por Matthew Groves

A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviará pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribió una aplicación de punto de venta en QuickBASIC para la pizzería de sus padres, allá por los años noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.

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.