stringtranslate.com

Amazon ElastiCache

Amazon ElastiCache es un servicio de almacenamiento en 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]

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 la aplicación de parches de software, la realización de copias de seguridad y la restauración de conjuntos de datos y la adición o eliminación dinámica de capacidades, se gestionan de forma automática. 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] , con compatibilidad con Memcached. A esto le siguió la compatibilidad con instancias reservadas el 5 de abril de 2012 [5] y con Redis el 4 de septiembre de 2013. [6]

Usos

Como servicio de base de datos administrado con múltiples motores compatibles, Amazon ElastiCache tiene una amplia gama de usos, incluidos

Aceleración del rendimiento

Las limitaciones de las bases de datos suelen ser un obstáculo 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 costes

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, el ahorro de costos supera los costos de caché. Expedia pudo usar ElastiCache para reducir la capacidad de DynamoDB aprovisionada en un 90 %, lo que redujo el costo total de la base de datos en 6 veces. [8] [9]

Procesamiento de datos de series temporales

Utilizando el motor Redis, ElastiCache puede procesar rápidamente datos de series temporales , seleccionando rápidamente 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 los sistemas con una gran cantidad de jugadores, calcular y publicar las clasificaciones de los jugadores puede ser un desafío. El uso de Amazon ElastiCache con el motor Redis puede permitir una alta velocidad a escala para las tablas de clasificación. [11]

Limitación de velocidad

Algunas API solo permiten una cantidad limitada de solicitudes por período de tiempo. El motor Amazon ElastiCache for Redis puede usar contadores incrementales y otras herramientas para limitar 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 la cantidad máxima de estudiantes inscritos en un curso o garantizar 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 las funciones de contador atómico de ElastiCache para Redis, donde una sola operación verifica e incrementa el valor del contador, evita las condiciones de carrera. [13]

Salas de chat y foros de mensajes

ElastiCache para Redis admite patrones de publicación-suscripción , que permiten la creación de salas de chat y foros de mensajes donde los mensajes se distribuyen automáticamente a los usuarios interesados. [14]

Opciones de implementación

Amazon ElastiCache puede utilizar nodos de caché bajo demanda o nodos de caché reservados.

Los nodos a pedido proporcionan capacidad de caché por hora, y los recursos en la nube de AWS se asignan cuando se aprovisiona un nodo de caché. El propietario puede retirar del servicio un nodo a pedido en cualquier momento. Cada mes, se le facturarán al propietario las horas utilizadas. [15]

Los nodos reservados requieren un compromiso de uno o tres 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 a pedido. [16]

Actuación

Una memoria 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 rendimiento

Colección métrica

Muchas métricas de ElastiCache se pueden recopilar desde AWS a través de CloudWatch o directamente desde el motor de caché, ya sea Redis o Memcached, con una herramienta de monitoreo integrada con él: [18]

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.

Las métricas relacionadas con ElastiCache también se pueden recuperar mediante líneas de comandos. Se puede utilizar para verificaciones puntuales e investigaciones ad hoc.

La tercera forma de recopilar métricas de ElastiCache es a través de una herramienta de monitoreo dedicada que se integre con Amazon CloudWatch.

Clientes notables

Los usuarios de Amazon ElastiCache incluyen Airbnb , [19] Expedia , [20] Zynga , [21] Tinder , [22] FanDuel , [23] y Mapbox [24]

Limitaciones

Como servicio de AWS, ElastiCache está diseñado para ser accedido exclusivamente desde AWS, aunque es posible conectar el servicio a aplicaciones y bases de datos que no estén alojadas por AWS. [25]

Alternativas

Otros proveedores ofrecen servicios de caché de datos en la nube comparables a Amazon ElastiCache, incluidos Azure Cache for Redis, Redis Ltd (la empresa detrás de Redis y Redis Enterprise de código abierto), Redis To Go, IBM Compose , Oracle Application Container Cloud Service y Rackspace ObjectRocket .

Referencias

  1. ^ "Amazon ElastiCache: almacenamiento en caché distribuido en memoria". Amazon Web Services . 22 de agosto de 2011.
  2. ^ "ElastiCache para Redis". Amazon Web Services . Consultado el 29 de agosto de 2016 .
  3. ^ "Escalado". Documentación de AWS ElastiCache . Consultado el 8 de julio de 2016 .
  4. ^ "Amazon ElastiCache: almacenamiento en caché distribuido en memoria". amazon.com . 22 de agosto de 2011 . Consultado el 8 de julio de 2016 .
  5. ^ "Nodos de caché reservados para Amazon ElastiCache". amazon.com . 5 de abril de 2012 . Consultado el 8 de julio de 2016 .
  6. ^ "Amazon ElastiCache: ahora con una pizca de Redis". amazon.com . 4 de septiembre de 2013 . Consultado el 8 de julio de 2016 .
  7. ^ "Usa Memcached para mejorar el rendimiento de la base de datos". CloudVPS . Archivado desde el original el 2016-07-13 . Consultado el 2016-07-08 .
  8. ^ "Testimonios de clientes". amazon.com . Consultado el 8 de julio de 2016 .
  9. ^ "AWS crea aplicaciones escalables en servicios NoSQL de AWS". youtube.com . Consultado el 8 de julio de 2016 .
  10. ^ "Uso de Redis como base de datos de series temporales: por qué y cómo". InfoQueue . Consultado el 8 de julio de 2016 .
  11. ^ "USAR REDIS PARA CREAR TU CLASIFICACIÓN DEL JUEGO". Social Point . Archivado desde el original el 2018-09-14 . Consultado el 2016-07-08 .
  12. ^ "DOWN BOY: CÓMO LIMITAR FÁCILMENTE LAS SOLICITUDES A UNA API USANDO REDIS". Idea colectiva . 30 de noviembre de 2012 . Consultado el 8 de julio de 2016 .
  13. ^ "An Atomic Rant". Nate Wigel vs Technology . 18 de febrero de 2010. Consultado el 8 de julio de 2016 .
  14. ^ "Crear una sala de chat sencilla 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 .
  15. ^ "Precios de Amazon ElastiCache". amazon.com . Consultado el 8 de julio de 2016 .
  16. ^ "Nodos de caché reservados de ElastiCache". amazon.com . Consultado el 8 de julio de 2016 .
  17. ^ "Monitoreo de métricas de rendimiento de ElastiCache con Redis o Memcached". 10 de diciembre de 2015. Consultado el 24 de octubre de 2016 .
  18. ^ "Recopilación de métricas de ElastiCache + sus métricas de Redis/Memcached". 10 de diciembre de 2015. Consultado el 24 de octubre de 2016 .
  19. ^ "Estudio de caso de Airbnb". amazon.com . Consultado el 8 de julio de 2016 .
  20. ^ "Creación de aplicaciones escalables en servicios NoSQL de AWS". youtube.com . Consultado el 8 de julio de 2016 .
  21. ^ "Estudio de caso de AWS: Zynga". amazon.com . Consultado el 8 de julio de 2016 .
  22. ^ "Desarrollo de resiliencia a escala en Tinder con Amazon ElastiCache". amazon.com . Consultado el 28 de marzo de 2024 .
  23. ^ "Estudio de caso de FanDuel". amazon.com . Consultado el 8 de julio de 2016 .
  24. ^ "Creación de aplicaciones escalables en servicios NoSQL de AWS". youtube.com . Consultado el 8 de julio de 2016 .
  25. ^ "Acceso a recursos de ElastiCache desde fuera de AWS". Documentación de AWS . Consultado el 8 de julio de 2016 .

Enlaces externos