Despliegue de Cluster de Cassandra de Apache Muy Disponible
Apache Cassandra es una base de datos NoSQL de código abierto. Escala linealmente y los datos se replican automáticamente en varios nodos. Ejecute los clusters de Cassandra de Apache en Oracle Cloud Infrastructure y aproveche la fiabilidad, la seguridad y la flexibilidad operativa de nivel empresarial.
Arquitectura
Esta arquitectura de referencia muestra un despliegue de 6 nodos de un cluster de Apache Cassandra que se ejecuta en instancias informáticas de Oracle Cloud Infrastructure.

Descripción de la ilustración cassandra-oci.eps
La arquitectura dispone de los siguientes componentes:
- Región
Una región de Oracle Cloud Infrastructure es un área geográfica localizada que contiene uno o más centros de datos, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones, y grandes distancias pueden separarlas (entre países o incluso continentes).
Todos los componentes de esta arquitectura se despliegan en una sola región.
- Dominios de disponibilidad
Los dominios de disponibilidad son centros de datos independientes e independientes dentro de una región. Los recursos físicos de cada dominio de disponibilidad están aislados de los recursos de los demás dominios de disponibilidad, lo que proporciona tolerancia a fallos. Los dominios de disponibilidad no comparten infraestructura, como energía o refrigeración, ni la red de dominio de disponibilidad interna. Por lo tanto, es poco probable que un fallo en un dominio de disponibilidad afecte a los otros dominios de disponibilidad de la región.
- Dominios de fallo
Un dominio de fallo es una agrupación de hardware e infraestructura dentro de un dominio de disponibilidad. Cada dominio de disponibilidad tiene tres dominios de fallo con energía y hardware independientes. Cuando distribuye recursos en varios dominios de fallo, las aplicaciones pueden tolerar fallos físicos del servidor, mantenimiento del sistema y fallos de energía dentro de un dominio de fallo.
- Red virtual en la nube (VCN) y subredes
VCN es una red personalizable definida por software que se ha configurado en una región de Oracle Cloud Infrastructure. Al igual que las redes tradicionales de centros de datos, las VCN le proporcionan un control completo sobre su entorno de red. VCN puede tener varios bloques CIDR no superpuestos que puede cambiar después de crear VCN. Puede segmentar un VCN en subredes, que se pueden asignar a una región o a un dominio de disponibilidad. Cada subred consta de un rango contiguo de direcciones que no se superponen con las otras subredes de VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.
- Cluster de Apache Cassandra
Esta arquitectura muestra un cluster de Apache Cassandra que consta de tres nodos iniciales y tres nodos no necesarios que se ejecutan en instancias de Oracle Cloud Infrastructure Compute. Los nodos se distribuyen entre los dominios de fallo dentro de un único dominio de disponibilidad. Todas las instancias de cálculo están asociadas a una sola subred pública.
- Gateway de Internet
El gateway de Internet en esta arquitectura permite el tráfico entre la subred pública y la Internet pública.
- Listas de seguridad
Para cada subred, puede crear reglas de seguridad que especifiquen el origen, destino y tipo de tráfico que se debe permitir dentro y fuera de la subred.
Esta arquitectura incluye reglas de entrada para los puertos TCP 7000, 7001, 7199, 9042 y 9160. Apache Cassandra utiliza el puerto 7000 para la comunicación entre clusters (o el puerto 7001 si está activado SSL) y el puerto 7199 para JMX. El puerto 9042 es el puerto cliente y 9160 es el puerto de transporte nativo.
- Tabla de rutas
Las tablas de rutas virtuales contienen reglas para enrutar el tráfico de subredes a destinos fuera de VCN, normalmente a través de gateways.
Recomendaciones
Sus requisitos pueden diferir de la arquitectura descrita aquí. Utilice las siguientes recomendaciones como punto de partida.
- Forma informática y sistema operativo
La plantilla de Terraform proporcionada para esta arquitectura despliega instancias informáticas que ejecutan Oracle Linux 7.8. Seleccione una forma adecuada para las instancias de cálculo en función de sus requisitos. Cuanto más memoria tenga un nodo Cassandra de Apache, mejor será su rendimiento de lectura. Un mayor número de CPU se traduce en un mejor rendimiento de escritura.
- VCN
Al crear un VCN, determine el número de bloques CIDR necesarios y el tamaño de cada bloque en función del número de recursos que tiene previsto asociar a subredes en VCN. Utilice bloques CIDR que estén dentro del espacio de direcciones IP privadas estándar.
Seleccione bloques CIDR que no se superpongan con ninguna otra red (en Oracle Cloud Infrastructure, el centro de datos local u otro proveedor de nube) a la que desea configurar conexiones privadas.
Después de crear un VCN, puede cambiar, agregar y eliminar sus bloques CIDR.
Cuando diseñe las subredes, tenga en cuenta sus requisitos de flujo de tráfico y seguridad. Conecte todos los recursos dentro de un nivel o rol específico a la misma subred, que puede servir como límite de seguridad.
Utilice una subred regional.
- Seguridad
-
Utilice Oracle Cloud Guard para supervisar y mantener la seguridad de sus recursos en Oracle Cloud Infrastructure de forma proactiva. Cloud Guard utiliza recetas de detectores que puede definir para examinar sus recursos para detectar deficiencias de seguridad y para supervisar a los operadores y usuarios para realizar actividades de riesgo. Cuando se detecta una configuración incorrecta o una actividad insegura, Cloud Guard recomienda acciones correctivas y ayuda a realizar esas acciones, en función de las recetas de respuesta que pueda definir.
-
Para los recursos que requieren la máxima seguridad, Oracle recomienda utilizar zonas de seguridad. Una zona de seguridad es un compartimento asociado a una receta definida por Oracle de políticas de seguridad que se basan en las mejores prácticas. Por ejemplo, los recursos de una zona de seguridad no deben ser accesibles desde Internet público y deben cifrarse mediante claves gestionadas por el cliente. Al crear y actualizar recursos en una zona de seguridad, Oracle Cloud Infrastructure valida las operaciones con las políticas de la receta de zona de seguridad y niega las operaciones que violen cualquiera de las políticas.
-
Consideraciones
Cuando implemente esta arquitectura, tenga en cuenta los siguientes factores:
- Escalabilidad
Esta arquitectura despliega un nodo inicial de Apache Cassandra y un nodo no necesario en cada dominio de fallo. Es posible que necesite más nodos para cumplir con los requisitos de rendimiento o alta disponibilidad de su aplicación.
Puede escalar horizontalmente el cluster de Apache Cassandra agregando más instancias informáticas. Puede distribuir los nodos iniciales entre los dominios de fallo.
Puede escalar el cluster verticalmente cambiando la forma de cada instancia de cálculo. El uso de una forma con un recuento de núcleos superior aumenta la memoria asignada a la instancia de cálculo y su ancho de banda de red.
- Disponibilidad de la aplicación
En esta arquitectura, las instancias informáticas que realizan las mismas tareas se distribuyen de forma redundante en varios dominios de fallos. Este diseño elimina cualquier punto de fallo en la topología.
Una vez desplegada la arquitectura, puede conectarse a la dirección IP pública de los nodos Cassandra de Apache mediante herramientas SSH como PuTTY o Git Bash. Puede utilizar el lenguaje de consulta Cassandra (CQL) para operaciones DDL y DML en la base de datos Apache Cassandra.
- Costo
Una forma de metal desnudo proporciona un mejor rendimiento de lectura y escritura. Si la aplicación no necesita un alto rendimiento, puede seleccionar una forma de VM basada en los núcleos, la memoria y el ancho de banda de red que necesita para la base de datos. Puede empezar con una forma de 1 núcleo para los nodos Cassandra de Apache y cambiar la forma más tarde si necesita más rendimiento, memoria o ancho de banda de red.
Desplegar
El código necesario para desplegar esta arquitectura de referencia está disponible en GitHub. Puede extraer el código a Oracle Cloud Infrastructure Resource Manager con un solo clic, crear la pila y desplegarlo. También puede descargar el código de GitHub en el equipo, personalizar el código y desplegar la arquitectura mediante la CLI de Terraform.
- Desplegar mediante Oracle Cloud Infrastructure Resource Manager:
- Haga clic en
Si aún no está conectado, introduzca las credenciales de arrendamiento y usuario.
- Revise y acepte los términos y condiciones.
- Seleccione la región en la que desea desplegar la pila.
- Siga las instrucciones y peticiones de datos en pantalla para crear la pila.
- Después de crear la pila, haga clic en Acciones de Terraform y seleccione Plan.
- Espere a que se complete el trabajo y revise el plan.
Para realizar cualquier cambio, vuelva a la página Detalles de Pila, haga clic en Editar Pila y realice los cambios necesarios. A continuación, vuelva a ejecutar la acción Plan.
- Si no es necesario realizar más cambios, vuelva a la página Detalles de Pila, haga clic en Acciones de Terraform y seleccione Aplicar.
- Haga clic en
- Despliegue mediante la CLI de Terraform:
- Vaya a GitHub.
- Clone o descargue el repositorio en su computadora local.
- Siga las instrucciones del documento
README
.
Log de cambios
Este log muestra cambios significativos:
4 de febrero de 2021 |
|