Introducción (análisis de los puntos débiles)

Como arquitecto o desarrollador de una plataforma de comercio electrónico, ¿alguna vez ha pasado noches en vela en vísperas de un evento de “segunda venta” o “gran promoción”? Cuando millones de usuarios hacen clic en “Comprar ahora” en el mismo momento, ¿su sistema se enfrenta a los siguientes graves problemas?

  • La presión de la base de datos se disparó.La información sobre productos calientes y las solicitudes de consulta de inventario llegan instantáneamente a la conexión de la base de datos, lo que provoca una avalancha de servicios.
  • Enigma de la sobreventa de existencias.En un entorno concurrente, el bajo rendimiento de los bloqueos de transacciones de las bases de datos tradicionales puede conducir fácilmente a una deducción incorrecta del inventario y a la “sobreventa”, lo que provoca pérdidas de capital y quejas de los clientes.
  • La respuesta es extremadamente lenta.Las páginas de usuario se ralentizaban y daban vueltas, las solicitudes de pedidos no respondían durante largos periodos de tiempo, lo que en última instancia provocó el colapso de la experiencia de usuario y la pérdida de la campaña.
  • Ataque de petición maliciosa.Los scripts escaladores y las herramientas de cepillado se apoderan de los recursos normales de los usuarios y socavan la imparcialidad del evento.

Si estás luchando con la estabilidad del sistema, la consistencia de los datos y los problemas de experiencia de usuario provocados por los picos de alta concurrencia, entonces este artículo te proporcionará una solución de mejores prácticas probada y completa para AliCloud.

Esquema y visión general de la arquitectura de la solución

El siguiente diagrama muestra claramente cómo construir una sólida arquitectura de sistema secular utilizando productos AliCloud:

AliCloud Redis potencia el sistema de picos: caché de datos en caliente y mejores prácticas de deducción de inventario - LikaCloud

Las ideas centrales del diseño del programa son“Interceptación por capas, asincronización y coherencia final”

Flujo de trabajo.

  1. Capa de acceso y protección del tráfico.Las solicitudes de los usuarios se dirigen primero a través delAceleración de seguridad Edge (ESA)tal vezCDNVolver rápidamente a los recursos de la página estática, seguido de laCortafuegos de aplicaciones web (WAF)Limpieza del tráfico malicioso.
  2. Capa de lógica empresarial.flujo netoEquilibrio de carga (SLB)Distribuir a servidores de aplicaciones sin estado (ECStal vezFunción Cálculo FC), realizan comprobaciones básicas como la identidad del usuario y la elegibilidad para llamadas robadas.
  3. Caché del núcleo y capa de deducción.Una vez superada la comprobación de admisibilidad, el servidor llama a la funciónBase de datos en nube Edición Tair/RedisTambién se puede utilizar para comprobar y pre-deducir el inventario de forma atómica, registrar el estado de compra del usuario y devolver el resultado al instante.
  4. Capa asíncrona de procesamiento de pedidos.Las solicitudes de prededucción aceptadas se envían como mensajes alColas de mensajes RocketMQ Editionpara reducir los picos de tráfico. Los servicios descendentes consumen mensajes de forma asíncrona para completar operaciones que consumen mucho tiempo, como la creación de pedidos y la persistencia en bases de datos.
  5. Capa de persistencia de datos.​ ​Base de datos en nube RDS Edición MySQLcomo el almacén de datos definitivo, utilizando suSugerencia de inventarioEsta función gestiona eficazmente las actualizaciones de filas de puntos calientes para garantizar la coherencia final con Redis.
  6. Seguimiento completo del enlace.​ ​Servicio de supervisión de aplicaciones en tiempo real (ARMS)Además, proporciona información completa sobre el rendimiento de los enlaces para ayudar a localizar rápidamente los cuellos de botella.

Propuesta de valor.Al digerir 99% las solicitudes de lectura y las operaciones de deducción de inventario en la capa de caché y permitir que sólo un pequeño número de solicitudes correctas entren en la base de datos, esta solución resuelve por completo el punto débil de la introducción y consigue la capacidad de gestionar decenas o incluso cientos de miles de solicitudes por segundo.

Productos básicos y componentes

montajesdesempeñar un papelPrincipales recomendaciones de configuración y selecciónPor qué elegirlo
Base de datos en nube Edición Tair/RedisEl núcleo del sistema. Emprender:
1.Caché de datos en calienteDetalles del producto en caché.
2.Retención de existencias: a través deDECRoLuaScript Inventario de deducción atómica.
3.limitación del flujo de solicitudes (informática): a través deINCRHabilita la limitación de tráfico por dimensión de usuario/IP.
4.marcador de estado: Uso deSETNXMarcar a los usuarios que ya han realizado un pedido para evitar compras duplicadas.
-selección: Selecciónbasado en la memoriaotipo de memoria persistenteinstancias, primero el rendimiento.
-configure: Abiertocosificación(AOF) para evitar la pérdida de datos al reiniciar.
-construya: AdopciónEdición Clusterpara aumentar fácilmente el rendimiento.
Proporcionar ultra-alto rendimiento y operaciones atómicas, el rendimiento mucho más allá de la base de datos. La versión AliCloud proporcionaflashback de datosexpansión y contracción sin fisurasy otras funciones avanzadas con una sencilla operación y mantenimiento.
Colas de mensajes RocketMQ Edition“Vías de inundación” y “zonas tampón” del sistema. Emprender:
reducción máximaConvertir las solicitudes de colocación de pedidos síncronas instantáneas en mensajes asíncronos que se envían sin problemas a los servicios de procesamiento de pedidos posteriores para evitar que los servicios se vean desbordados.
-selección: SelecciónEdición Clusterpara garantizar una alta disponibilidad.
-configure: Creaciónmensaje secuencialTema, que garantiza la secuencialidad de los pedidos realizados para un mismo artículo.
Rendimiento extremadamente alto y apilamiento de mensajes fiable con soporte paramensaje de transacción, garantizando que la lógica de negocio sea coherente en última instancia e ideal para el desacoplamiento asíncrono.
Base de datos en nube RDS Edición MySQLLa “máxima seguridad de datos” del sistema. Emprender:
Persistencia final de los datosRecibir información de pedidos del Trabajador asíncrono para completar la deducción final de existencias, la creación de pedidos y otras operaciones de entrega.
-caracterizaciónMuy recomendableSugerencia de inventarioque mejora varias veces el rendimiento al actualizar una única fila de inventario con una alta concurrencia.
-construya: AdopciónEdición de alta disponibilidad(Despliegue multidisponibilidad) Fiabilidad garantizada.
Al tratarse de una base de datos relacional madura y estable, las características ACID de los datos están garantizadas.La función Inventory Hint está especialmente diseñada para elescena de picos (informática)Optimización para resolver el último cuello de botella del rendimiento.
Aceleración de seguridad Edge (ESA) / CDNLa “primera barrera” del sistema. Emprender:
Aceleración y protecciónCaché de recursos estáticos (HTML, CSS, JS, imágenes) de las páginas activas para interceptar la mayoría de las solicitudes de los usuarios en los nodos periféricos, reduciendo en gran medida la presión sobre el sitio de origen.
-configure: Establecer un tiempo razonable de caducidad de la caché para la página de picoprecalentarYrefrescar (ventana del ordenador)La red mundial de nodos proporciona una respuesta en milisegundos e integra funciones de protección DDoS para mejorar la experiencia del usuario al tiempo que se salvaguarda la seguridad.
Cortafuegos de aplicaciones web (WAF)“Guardias de seguridad” para el sistema.. Emprender:
Desbroce y filtración: Identifique y bloquee con precisión scripts de scalping, ataques CC, inyecciones SQL y otras solicitudes maliciosas para garantizar la equidad de las actividades y la seguridad de la empresa.
-configure: Activarverificación persona-ordenadorSeguridad CCControl de acceso de precisión personalizadoLa regla limita el tráfico contra las URL de pico.Proporcione una protección completa de las aplicaciones web de su empresa sin modificar el código de la misma, y haga frente fácilmente a los retos del chantaje.
Servicio de supervisión de aplicaciones en tiempo real (ARMS)El “Monitor Panorama” del sistema.. Emprender:
Enlace completo observableSupervise cada solicitud desde la API del front-end hasta Redis, MQ y DB del back-end para localizar rápidamente cuellos de botella y anomalías en el rendimiento.
-configure: para interfaces de núcleo de picos, comandos Redis, configuración de casos de montón MQVisión general de la empresaYNormas de alarmaProporciona capacidades de supervisión del rendimiento de extremo a extremo, lo que permite una visibilidad de un vistazo en sistemas distribuidos complejos y una rápida resolución de problemas.

Resumen de los beneficios del programa

  • ⚡ Rendimiento extremo con respuesta en milisegundos.Redis funcionamiento en memoria y la arquitectura asíncrona, fácil de hacer frente a millones de QPS, el usuario ordena una experiencia sin problemas.
  • ? ️ Los datos son fiables y eliminan la sobreventa.Las operaciones atómicas de Redis + los scripts Lua garantizan una preeducción precisa, combinada con transacciones RDS e Inventory Hint para garantizar que el inventario sea coherente en última instancia y nunca se sobrevenda.
  • ? ️ Ahorro de caudal y estabilidad del sistema.El desacoplamiento asíncrono de RocketMQ, que resiste eficazmente los picos de tráfico transitorios, para proteger la base de datos y los servicios descendentes funcionan sin problemas.
  • ? Seguros y conformes, justos y dignos de confianza.Mediante WAF, alta defensa DDoS y otros medios, construye un sistema de protección tridimensional desde el borde hasta el interior de la nube, identifica e intercepta eficazmente las peticiones maliciosas y garantiza la equidad de las actividades.
  • ? Escalado flexible para optimizar los costes.Todos los productos principales admiten la ampliación elástica de la capacidad bajo demanda y pueden reducirse después del evento, lo que permite controlar eficazmente los costes.

Escenarios de aplicación y clientes aplicables

  • Escenarios de aplicación.
    • Promoción del comercio electrónico.Los productos más populares de los festivales de compras, como “Doble 11” y “618”, están a la venta.
    • Edición limitada.Como el estreno de nuevos teléfonos móviles, zapatillas de edición limitada y entradas para conciertos.
    • Agarre de vales cronometrado.Campañas periódicas de recogida de cupones de plataforma y paquetes rojos.
  • Clientes aplicables.
    • Todas las plataformas de comercio electrónico, educación en línea, sistemas de venta de entradas y otras empresas que se enfrentan a operaciones urgentes de alta concurrencia.
    • Clientes cuyos picos de tráfico empresarial varían mucho del tráfico diario y requieren recursos elásticos para hacerles frente.
    • Clientes que exigen el máximo nivel de coherencia de los datos y no toleran la sobreventa.

Enlaces relacionados