Amazon ElastiCache es un servicio de caché y almacenamiento de datos en memoria totalmente administrado por Amazon Web Services (AWS) . El servicio mejora el rendimiento de las aplicaciones web al recuperar información de cachés en memoria administrados , en lugar de depender completamente de bases de datos basadas en disco más lentas. ElastiCache admite dos motores de almacenamiento en caché en memoria de código abierto: Memcached y Redis (también llamado "ElastiCache para Redis"). [2]
Desarrollador (es) | Amazon.com |
---|---|
Versión inicial | 22 de agosto de 2011 [1] | .
Disponible en | inglés |
Tipo | Almacenamiento en la nube |
Sitio web | aws |
Como servicio web que se ejecuta en la nube informática , Amazon ElastiCache está diseñado para simplificar la configuración, el funcionamiento y el escalado de las implementaciones de Memcached y Redis. Los procesos de administración complejos, como el software de parcheo, la realización de copias de seguridad y la restauración de conjuntos de datos y la adición o eliminación de capacidades de forma dinámica, se gestionan automáticamente. El escalado de los recursos de ElastiCache se puede realizar mediante una única llamada a la API . [3]
Amazon ElastiCache se lanzó por primera vez el 22 de agosto de 2011, [4] compatible con memcached. A esto le siguió el soporte para instancias reservadas el 5 de abril de 2012 [5] y Redis el 4 de septiembre de 2013. [6]
Usos
Como servicio de base de datos administrado con varios motores compatibles, Amazon ElastiCache tiene una amplia gama de usos, que incluyen
Aceleración del rendimiento
Las limitaciones de la base de datos suelen ser un cuello de botella para el rendimiento de las aplicaciones. Al colocar Amazon ElastiCache entre una aplicación y su nivel de base de datos, se pueden acelerar las operaciones de la base de datos. [7]
Reducción de costo
El uso de ElastiCache para acelerar el rendimiento de la base de datos puede reducir significativamente la infraestructura necesaria para respaldar la base de datos. En muchos casos, los ahorros de costos superan los costos de caché. Expedia pudo usar ElastiCache para reducir la capacidad aprovisionada de DynamoDB en un 90%, reduciendo el costo total de la base de datos en 6 veces. [8] [9]
Procesamiento de datos de series de tiempo
Con el motor de Redis, ElastiCache puede procesar rápidamente datos de series de tiempo , seleccionando rápidamente los registros o eventos más nuevos o más antiguos dentro del rango de un punto en el tiempo. [10]
Tablas de clasificación
Las tablas de clasificación son una forma eficaz de mostrar rápidamente a un usuario dónde se encuentra actualmente dentro de un sistema gamificado. Para sistemas con una gran cantidad de jugadores, calcular y publicar rangos de jugadores puede ser un desafío. El uso de Amazon ElastiCache con el motor de Redis puede permitir alta velocidad a escala para las tablas de clasificación. [11]
Limitación de tasa
Algunas API solo permiten un número limitado de solicitudes por período de tiempo. El motor de Amazon ElastiCache para Redis puede usar contadores incrementales y otras herramientas para acelerar el acceso a la API y cumplir con las restricciones. [12]
Contador atómico
Los programas pueden usar contadores incrementales para limitar las cantidades permitidas, como el número máximo de estudiantes inscritos en un curso o asegurarse de que un juego tenga al menos 2 pero no más de 8 jugadores. El uso de contadores puede crear una condición de carrera en la que se permite una operación porque un contador no se actualizó de inmediato. El uso de ElastiCache para las funciones de contador atómico de Redis, donde una sola operación comprueba e incrementa el valor del contador, evita las condiciones de carrera. [13]
Salas de chat y tableros de mensajes
ElastiCache para Redis admite patrones de publicación-suscripción , que permiten la creación de salas de chat y tableros de mensajes donde los mensajes se distribuyen automáticamente a los usuarios interesados. [14]
Opciones de implementación
Amazon ElastiCache puede usar nodos de caché a pedido o nodos de caché reservados.
Los nodos bajo demanda proporcionan capacidad de caché por hora, con recursos en la nube de AWS asignados cuando se aprovisiona un nodo de caché. Un nodo bajo demanda puede ser retirado del servicio por su propietario en cualquier momento. Cada mes, se facturarán al propietario las horas utilizadas. [15]
Los nodos reservados requieren un compromiso de 1 o 3 años, que dedica recursos de caché al propietario. El costo por hora de los nodos reservados es significativamente menor que el costo por hora de los nodos bajo demanda. [dieciséis]
Actuación
Una caché eficiente puede aumentar significativamente el rendimiento de la aplicación y la velocidad de navegación del usuario. Amazon CloudWatch expone métricas de rendimiento de ElastiCache que se pueden rastrear. [17]
Métricas clave de desempeño
- Métricas de clientes (miden el volumen de conexiones y solicitudes de clientes): número de conexiones de clientes actuales a la caché, comandos Get y Set recibidos por la caché
- Rendimiento de la caché: aciertos, errores, retraso de replicación, latencia
- Métricas de memoria: uso de memoria, desalojos, cantidad de memoria libre disponible en el host, uso de intercambio, índice de fragmentación de memoria
- Otras métricas a nivel de host: uso de CPU , número de bytes leídos de la red por el host, número de bytes escritos en la red por el host
Colección métrica
Muchas métricas de ElastiCache se pueden recopilar de AWS a través de CloudWatch o directamente desde el motor de caché, ya sea Redis o Memcached, con una herramienta de monitoreo que se integra con él: [18]
- Uso de la consola de administración de AWS
Usar la consola de administración en línea es la forma más sencilla de monitorear ElastiCache con CloudWatch. Permite configurar alertas automáticas básicas y obtener una imagen visual de los cambios recientes en las métricas individuales.
- Interfaz de línea de comandos de CloudWatch
Las métricas relacionadas con ElastiCache también se pueden recuperar mediante líneas de comando. Se puede utilizar para controles sobre el terreno e investigaciones ad hoc.
- Herramienta de monitoreo integrada con CloudWatch
La tercera forma de recopilar métricas de ElastiCache es a través de una herramienta de monitoreo dedicada que se integra con Amazon CloudWatch.
Clientes notables
Los usuarios de Amazon ElastiCache incluyen Airbnb , [19] Expedia , [20] Zynga , [21] FanDuel [22] y Mapbox [23].
Limitaciones
Como servicio de AWS, ElastiCache está diseñado para acceder exclusivamente desde AWS, aunque es posible conectar el servicio a aplicaciones y bases de datos que no están alojadas en AWS. [24]
Alternativas
Otros proveedores proporcionan servicios de caché de datos en la nube comparables a Amazon ElastiCache, incluidos Azure Cache para Redis , Redis Labs (empresa detrás de Redis y Redis Enterprise de código abierto), Redis To Go , IBM Compose , Oracle Application Container Cloud Service , openredis , Redis4You , RedisGreen y Rackspace ObjectRocket .
Referencias
- ^ "Amazon ElastiCache - Caché distribuido en memoria" . Servicios web de Amazon . 22 de agosto de 2011.
- ^ "ElastiCache para Redis" . Servicios web de Amazon . Consultado el 29 de agosto de 2016 .
- ^ "Escala" . Documentación de AWS ElastiCache . Consultado el 8 de julio de 2016 .
- ^ "Amazon ElastiCache: almacenamiento en caché distribuido en memoria" . amazon.com . Consultado el 8 de julio de 2016 .
- ^ "Nodos de caché reservados para Amazon ElastiCache" . amazon.com . Consultado el 8 de julio de 2016 .
- ^ "Amazon ElastiCache - ahora con una pizca de Redis" . amazon.com . Consultado el 8 de julio de 2016 .
- ^ "Utilice Memcached para mejorar el rendimiento de la base de datos" . CloudVPS . Archivado desde el original el 13 de julio de 2016 . Consultado el 8 de julio de 2016 .
- ^ "Testimonios de clientes" . amazon.com . Consultado el 8 de julio de 2016 .
- ^ "AWS Building Scalable Applications on AWS NoSQL Services" . youtube.com . Consultado el 8 de julio de 2016 .
- ^ "Uso de Redis como base de datos de series temporales: por qué y cómo" . InfoQueue . Consultado el 8 de julio de 2016 .
- ^ "USANDO REDIS PARA CONSTRUIR SU TABLERO DE JUEGO" . Punto social . Consultado el 8 de julio de 2016 .
- ^ "DOWN BOY: CÓMO ACELERAR FÁCILMENTE LAS SOLICITUDES A UNA API USANDO REDIS" . Idea colectiva . Consultado el 8 de julio de 2016 .
- ^ "Una diatriba atómica" . Nate Wigel contra la tecnología . Consultado el 8 de julio de 2016 .
- ^ "Cree una sala de chat simple con Redis Pubsub" . Programa todos los días . Archivado desde el original el 21 de julio de 2016 . Consultado el 8 de julio de 2016 .
- ^ "Precios de Amazon ElastiCache" . amazon.com . Consultado el 8 de julio de 2016 .
- ^ "Nodos de caché reservados de ElastiCache" . amazon.com . Consultado el 8 de julio de 2016 .
- ^ "Monitoreo de métricas de rendimiento de ElastiCache con Redis o Memcached" . Consultado el 24 de octubre de 2016 .
- ^ "Recopilación de métricas de ElastiCache + sus métricas de Redis / Memcached" . Consultado el 24 de octubre de 2016 .
- ^ "Estudio de caso de Airbnb" . amazon.com . Consultado el 8 de julio de 2016 .
- ^ "Creación de aplicaciones escalables en servicios AWS NoSQL" . youtube.com . Consultado el 8 de julio de 2016 .
- ^ "Estudio de caso de AWS: Zynga" . amazon.com . Consultado el 8 de julio de 2016 .
- ^ "Estudio de caso de FanDuel" . amazon.com . Consultado el 8 de julio de 2016 .
- ^ "Creación de aplicaciones escalables en servicios AWS NoSQL" . youtube.com . Consultado el 8 de julio de 2016 .
- ^ "Acceso a recursos de ElastiCache desde fuera de AWS" . Documentación de AWS . Consultado el 8 de julio de 2016 .
enlaces externos
- Página web oficial