¿Qué es DCS?
Distributed Cache Service (DCS) de Huawei Cloud es un servicio de caché en memoria en línea, distribuido y compatible con Redis y Memcached. Es fiable, escalable, fácil de usar y fácil de gestionar. Cumple con sus requisitos de alto rendimiento de lectura/escritura y acceso rápido a los datos.
- Preparado y fácil de usar
DCS proporciona las instancias del nodo único, de los nodos principal/en standby, del clúster de Proxy, del clúster de Redis y de la separación de lectura/escritura con las especificaciones que varían de 128 MB a 1024 GB. Las instancias de DCS se pueden crear con pocos clics en la consola, sin la necesidad de preparar los servidores.
Las instancias de DCS Redis 4.0, 6.0, y 5.0 están en contenedores y se pueden crear en cuestión de segundos.
- Seguridad y confiabilidad
El almacenamiento y el acceso a los datos de instancias están protegidos de forma segura a través de los servicios de gestión de seguridad de Huawei Cloud, incluidos Identity and Access Management (IAM), Virtual Private Cloud (VPC), Cloud Eye, and Cloud Trace Service (CTS).
Las instancias principal/en standby y de clúster se pueden implementar dentro de una zona de disponibilidad (AZ) o a través de AZ.
- Escalamiento automático
Las instancias DCS se pueden escalar hacia arriba o hacia abajo en línea, lo que le ayuda a controlar los costos en función de los requisitos de servicio.
- Fácil gestión
Se proporciona una consola basada en web para que realice varias operaciones, como reiniciar instancias, modificar parámetros de configuración y realizar copias de seguridad y restaurar datos. También se proporcionan interfaces de programación de aplicaciones (API) RESTful para la gestión automática de instancias.
- Migración en línea
Puede crear una tarea de migración de datos en la consola para importar los archivos de copia de seguridad o migrar los datos en línea.
Para obtener más información sobre cómo seleccionar un motor de caché, consulte Comparación entre Redis y Memcached.
DCS for Redis
DCS for Redis soporta Redis 3.0, 4.0, 5.0 y 6.0.
- Huawei Cloud DCS for Redis 3.0, 4.0 y 5.0
DCS for Redis 3.0 ya no se proporciona. Puede utilizar DCS for Redis 4.0 o 5.0 en su lugar.
Redis es un sistema de almacenamiento que admite varios tipos de estructuras de datos, incluidos los pares clave-valor. Se puede utilizar en los escenarios tales como el almacenamiento en caché de datos, la publicación/suscripción de eventos y la cola de alta velocidad, como se describe en Escenarios de la aplicación. Redis se escribe en ANSI C, soporta lectura/escritura directa de strings, hashes, lists, sets, sorted sets, y streams. Redis trabaja con un conjunto de datos en memoria que puede persistir en el disco.
Las instancias de DCS Redis se pueden personalizar en función de sus requisitos.
Tabla 1 Configuraciones de instancia de DCS Redis Tipo de instancia
DCS for Redis proporciona los siguientes tipos de instancias para adaptarse a diferentes escenarios de servicio:
Nodo único: Adecuado para almacenar en caché datos temporales en escenarios de baja confiabilidad. Las instancias de nodo único admiten operaciones de lectura/escritura altamente simultáneas, pero no admiten persistencia de datos. Los datos se eliminarán después de reiniciar las instancias.
Principal/En standby: Cada instancia principal/en standby se ejecuta en dos nodos (un principal y un en standby). El nodo en standby replica datos de forma síncrona desde el nodo principal. Si el nodo principal falla, el nodo en standby se convierte automáticamente en el nodo principal. Puede dividir las operaciones de lectura y escritura escribiendo en el nodo principal y leyendo desde el nodo en standby. Esto mejora el rendimiento general de lectura/escritura de caché.
Clúster de proxy: Además del clúster de Redis nativo, una instancia de clúster de proxy tiene los proxy y balanceadores de carga. Los balanceadores de carga implementan el equilibrio de carga. Se distribuyen diferentes solicitudes a diferentes proxy para lograr una alta simultaneidad. Cada partición del clúster tiene un nodo principal y un nodo en standby. Si el nodo principal es defectuoso, el nodo en standby en la misma partición es promovida a la función del principal para asumir los servicios.
Clúster de Redis: Cada instancia de clúster de Redis consta de varias particiones y cada partición incluye un nodo principal y varias réplicas (o ninguna réplica). Las partición son invisibles a usted. Si el nodo principal falla, una réplica en la misma partición se hace cargo de los servicios. Puede dividir las operaciones de lectura y escritura escribiendo en el nodo principal y leyendo desde las réplicas. Esto mejora el rendimiento general de lectura/escritura de caché.
Separación de lectura/escritura: Una instancia de separación de lectura/escritura tiene proxy y balanceadores de carga además de la arquitectura principal/en standby. Los balanceadores de carga implementan el equilibrio de carga, y diferentes solicitudes se distribuyen a diferentes proxy. Los proxy distinguen entre las solicitudes de lectura y escritura, y las envía a nodos principales o nodos en standby, respectivamente.
Especificaciones de las instancias
DCS for Redis proporciona las instancias de diferentes especificaciones, que van desde 128 MB a 1024 GB.
Compatibilidad con software de código abierto:
Las instancias de DCS son compatibles con Redis 3.0, 4.0, 5.0 y 6.0 de código abierto.
Arquitectura subyacente
Redis estándar basado en las máquinas virtuales: admite hasta 100,000 consultas por segundo (QPS) en un nodo único.
Alta disponibilidad (HA) y recuperación ante desastres (DR)
Todas las instancias, excepto las de nodo único, se pueden implementar en AZ dentro de una región con fuentes de energía y redes físicamente aisladas.
Para obtener más información acerca de Redis de código abierto, visite https://redis.io/.
- Huawei Cloud DCS for Redis 6.0 (OBT)
Redis 6.0 está en OBT. Puede ir a la página para crear una instancia en la consola DCS y hacer clic en Apply Now para solicitar el permiso OBT, como se muestra en la siguiente figura.
Huawei Cloud DCS for Redis ahora cuenta con alto rendimiento basado en subprocesos múltiples.
El alto rendimiento basado en subprocesos múltiples se logra basándose en KeyDB de código abierto, que es una bifurcación Redis que ofrece un alto rendimiento. KeyDB se centra en el multiproceso, la eficiencia de la memoria y el alto rendimiento, y proporciona características que solo se encuentran en Redis Enterprise. KeyDB es totalmente compatible con el protocolo, módulos y scripts de Redis, y garantiza la atómica de scripts y transacciones. El desarrollo de KeyDB sigue el ritmo de Redis, por lo que KeyDB proporciona un superconjunto de funcionalidades de Redis y puede reemplazar las implementaciones de Redis existentes. Dado el mismo hardware, KeyDB maneja el doble de consultas por segundo que Redis con una latencia un 60% menor. Active-replication simplifica la migración por falla en standby inmediata, lo que le permite asignar fácilmente operaciones de escritura en réplicas y utilizar un simple equilibrio de carga basado en TCP o migración por falla. El alto rendimiento de KeyDB le permite lograr más con menos hardware, reduciendo costos de operación y complejidad.
En KeyDB, los bucles de E/S y event loops se ejecutan en varios subprocesos. KeyDB soporta características tales como expiraciones de subkey, múltiples maestros, hashes anidados y CRON for Lua scripts, que no están disponibles en Redis.
En versiones anteriores a Redis 6.0, una consulta lenta a menudo causa que otras consultas se retrasen debido al modelo de subproceso único. Para abordar los problemas de rendimiento, la nueva edición ha realizado una serie de optimización basada en un modelo multiproceso. Se ha mejorado la simultaneidad de subprocesos múltiples para el procesamiento de eventos de E/S y backend; el acceso a los datos almacenados en caché se acelera aún más a través del bloqueo de giro justo; las claves caducadas se pueden eliminar dos veces más rápido gracias a algoritmos optimizados; La compatibilidad con las subclaves caduca también mejora el rendimiento de lectura/escritura de las claves grandes. Como resultado, la nueva edición es adecuada para escenarios que requieren un alto rendimiento de un solo nodo, como temas de tendencias y eventos de transmisión en vivo en Internet.
Las instancias de DCS Redis se pueden personalizar en función de sus requisitos.Tabla 2 Configuraciones de instancia de DCS Redis Tipo de instancia
DCS for Redis proporciona los siguientes tipos de instancias para adaptarse a diferentes escenarios de servicio:
Nodo único: Adecuado para almacenar en caché datos temporales en escenarios de baja confiabilidad. Las instancias de nodo único admiten operaciones de lectura/escritura altamente simultáneas, pero no admiten persistencia de datos. Los datos se eliminarán después de reiniciar las instancias.
Principal/En standby: Cada instancia principal/en standby se ejecuta en dos nodos (un principal y un en standby). El nodo en standby replica datos de forma síncrona desde el nodo principal. Si el nodo principal falla, el nodo en standby se convierte automáticamente en el nodo principal. Puede dividir las operaciones de lectura y escritura escribiendo en el nodo principal y leyendo desde el nodo en standby. Esto mejora el rendimiento general de lectura/escritura de caché.
Clúster de proxy: Además del clúster de Redis nativo, una instancia de clúster de proxy tiene los proxy y balanceadores de carga. Los balanceadores de carga implementan el equilibrio de carga. Se distribuyen diferentes solicitudes a diferentes proxy para lograr una alta simultaneidad. Cada partición del clúster tiene un nodo principal y un nodo en standby. Si el nodo principal es defectuoso, el nodo en standby en la misma partición es promovida a la función del principal para asumir los servicios.
Clúster de Redis: Cada instancia de clúster de Redis consta de varias particiones y cada partición incluye un nodo principal y varias réplicas (o ninguna réplica). Las partición son invisibles a usted. Si el nodo principal falla, una réplica en la misma partición se hace cargo de los servicios. Puede dividir las operaciones de lectura y escritura escribiendo en el nodo principal y leyendo desde las réplicas. Esto mejora el rendimiento general de lectura/escritura de caché.
Separación de lectura/escritura: Una instancia de separación de lectura/escritura tiene proxy y balanceadores de carga además de la arquitectura principal/en standby. Los balanceadores de carga implementan el equilibrio de carga, y diferentes solicitudes se distribuyen a diferentes proxy. Los proxy distinguen entre las solicitudes de lectura y escritura, y las envía a nodos principales o nodos en standby, respectivamente.
Especificaciones de las instancias
Rango de 4 GB a 8 GB, 16 GB, 32 GB y 64 GB.
Compatibilidad con software de código abierto:
KeyDB 6.0.16
Arquitectura subyacente
Redis estándar basado en las máquinas virtuales: admite hasta 300,000 consultas por segundo (QPS) en un nodo único.
HA y DR
Todas las instancias, excepto las de nodo único, se pueden implementar en AZ dentro de una región con fuentes de energía y redes físicamente aisladas.
Para obtener más información acerca de KeyDB, visite https://keydb.dev/.La edición básica de DCS for Redis 6.0 proporciona las instancias principales/en espera y de un nodo único. Las ediciones Enterprise (rendimiento) y Enterprise (almacenamiento de información) solo proporcionan instancias principales/en espera.
DCS para Memcached (Próximamente no disponible)
DCS for Memcached está a punto de no estar disponible y ya no se vende en algunas regiones. Puede utilizar DCS for Redis 4.0 o 5.0 en su lugar.
Memcached es un sistema de almacenamiento en caché de clave-valor en memoria que admite la lectura/escritura de cadenas simples. A menudo se utiliza para almacenar en caché los datos de la base de datos back-end para aliviar la carga en estas bases de datos y acelerar las aplicaciones web. Para obtener más información sobre los escenarios de su aplicación, consulte Escenarios de aplicaciones de Memcached.
Además de la compatibilidad total con Memcached, DCS for Memcached proporciona el modo de standby inmediata y la persistencia de datos.
Tipo de instancia |
DCS for Memcached proporciona los dos tipos de instancias siguientes para adaptarse a diferentes escenarios de servicio: Nodo único: Adecuado para almacenar en caché datos temporales en escenarios de baja confiabilidad. Las instancias de nodo único admiten operaciones de lectura/escritura altamente simultáneas, pero no admiten persistencia de datos. Los datos se eliminarán después de reiniciar las instancias. Principal/En standby: Cada instancia principal/en standby se ejecuta en dos nodos (un principal y un en standby). El nodo en standby replica datos de forma sincrónica desde el nodo principal, pero no soporta las operaciones de lectura/escritura. Si el nodo principal falla, el nodo en standby se convierte automáticamente en el nodo principal. |
Memoria |
Especificación de instancias DCS Memcached de nodo único o principal/en standby: 2 GB, 4 GB, 8 GB, 16 GB, 32 GB y 64 GB. |
HA y DR |
Las instancias principal/en standby de DCS Memcached se pueden implementar en AZs en la misma región con fuentes de energía y redes físicamente aisladas. |
Para obtener más información acerca de Memcached de código abierto, visite https://memcached.org/.
DCS Video de introducción
Vea el siguiente video para obtener más información sobre DCS.