Introducción (análisis de los puntos débiles)
Para los desarrolladores de backend y los arquitectos de plataformas de contenidos de rápido crecimiento, sitios web de comercio electrónico o aplicaciones empresariales, un motor de búsqueda potente y flexible es la infraestructura básica para mejorar la experiencia del usuario y la eficiencia del negocio. Sin embargo, cuando se construye uno propio o se utilizan servicios de búsqueda tradicionales en la nube, a menudo se tropieza con estos problemas:
- Los picos de tráfico son difíciles de sobrellevar.Cuando se encontraban con grandes promociones y eventos candentes, el QPS de las consultas se disparaba instantáneamente y los recursos del clúster fijo se sobrecargaban, lo que provocaba una respuesta lenta o incluso el tiempo de inactividad del servicio de búsqueda, lo que afectaba directamente a la conversión de los usuarios y a los ingresos de la empresa.
- Es difícil equilibrar recursos y costes.Para garantizar la estabilidad durante los periodos punta, hay que asignar recursos al tráfico más elevado, pero durante la inmensa mayoría de los periodos planos, un gran número de recursos informáticos y de almacenamiento permanecen ociosos, lo que se traduce en un importante derroche de costes.
- Alta complejidad de O&M.La expansión y contracción del clúster, la actualización de versiones, la gestión de índices, el ajuste del rendimiento y otros trabajos de operación y mantenimiento requieren la inversión de un equipo profesional y mucha energía, el umbral técnico es alto, lo que distrae la atención de la actividad principal.
Si está luchando con la estabilidad, el alto coste y la pesada O&M de los servicios de búsqueda, entonces este artículo le proporcionará una solución completa de búsqueda elástica nativa en la nube.
Esquema y visión general de la arquitectura de la solución
Objetivo.Una imagen vale más que mil palabras y ofrece al lector una visión de conjunto.
Diagrama de arquitectura.

Visión general de la arquitectura.
La aplicación del usuario (Web/App/servidor) inicia una solicitud de búsqueda, que primero se distribuye a través de Tencent Cloud Load Balancing (CLB) y, a continuación, la solicitud accede al servicio Elasticsearch (ES) de Tencent Cloud a través de una red privada segura (VPC).El clúster ES utiliza laArquitectura sin servidoroGrupos de escalado elástico basados en métricas de supervisiónEl clúster ES puede ampliarse en segundos en función de la presión de las consultas en tiempo real sobre los nodos de cálculo. Los datos se escriben en tiempo real a través de componentes como Kafka, y dentro del clúster ES a través de la aplicaciónSeparación inteligente en frío y en calienteEl mecanismo almacena los datos calientes con acceso de alta frecuencia en discos SSD para garantizar el rendimiento, vuelca automáticamente los datos fríos con acceso de baja frecuencia al almacenamiento de objetos (COS) y reduce aún más los costes de almacenamiento mediante la tecnología de compresión ZSTD. La solución completa consigue la máxima optimización de costes, al tiempo que garantiza una respuesta en milisegundos y una alta disponibilidad.
Propuesta de valor.Adopción del programaExtrema elasticidadHaga frente a los picos de tráficoEstratificación y compresión inteligentesReducción de los costes integrados medianteServicios totalmente gestionadosElimina la carga de O&M y resuelve perfectamente todos los puntos débiles planteados en la introducción.
Productos básicos y componentes
- Nombre del componente. Servicio Elasticsearch de Tencent Cloud (ES)
- Interpretar el papel.Como núcleo de toda la solución, se proporciona un servicio de motor de búsqueda y análisis distribuido para gestionar todas las solicitudes de indexación y consulta de datos.
- Principales recomendaciones de configuración/selección.
- Selección de arquitectura.Muy recomendable para escenarios en los que el tráfico fluctúa mucho.Versión sin servidorRealmente consigue un escalado elástico de pago por uso y por milisegundos. Para escenarios con fluctuaciones regulares, puedes elegir la versión de escalado elástico y configurar una política de escalado basada en el uso de CPU o QPS de consulta.
- Configuración de nodos.Se recomienda activarnodo maestro exclusivopara mejorar la estabilidad del clúster; los nodos de datos utilizanAlta IOouso generalinstancias con unidades SSD en la nube para un rendimiento óptimo de E/S.
- Configuración de funciones.Asegúrese de encenderGestión del ciclo de vida de la indexación (ILM)para automatizar la estratificación caliente-temperatura-frío; activar la funciónCompresión ZSTDpara mayores ratios de compresión y velocidades de compresión más rápidas.
- Por qué elegirlo.Tencent Cloud ES es un servicio Elasticsearch de código abierto totalmente gestionado y compatible con 100% que proporciona todas las capacidades del código abierto, así como funciones de valor añadido como seguridad de nivel empresarial, supervisión y alertas, y actualizaciones con un solo clic, para que los usuarios no tengan que preocuparse de la infraestructura subyacente y sólo tengan que centrarse en la propia lógica empresarial de búsqueda.
- Nombre del componente. Almacenamiento de objetos en la nube de Tencent (COS)
- Interpretar el papel.Sirve de almacenamiento subyacente para la capa de datos en frío de ES, alberga datos archivados de acceso poco frecuente y proporciona servicios de almacenamiento de alta fiabilidad y muy bajo coste.
- Principales recomendaciones de configuración/selección.Creado para ES Cold DataAlmacenamiento estándaroAlmacenamiento de baja frecuenciaLos cubos son suficientes, con una durabilidad de hasta 99,999999999999% (12 9s), sin necesidad de configuración adicional.
- Por qué elegirlo.COS tiene un coste de almacenamiento mucho menor que el almacenamiento en bloques de alto rendimiento, y al integrarse perfectamente con las capacidades ILM de ES, los datos fríos pueden hundirse sin sentido, reduciendo los costes de almacenamiento en más de 80% sin perder la trazabilidad de los datos.
- Nombre del componente. Equilibrio de carga en la nube de Tencent (CLB)
- Interpretar el papel.Como entrada unificada al servicio, distribuye automáticamente solicitudes de búsqueda masiva a múltiples nodos de datos ES en el backend, eliminando puntos únicos de fallo y proporcionando capacidades como la descarga HTTPS.
- Principales recomendaciones de configuración/selección.opciónCLB aplicadoconfigurado como oyente TCP/UDP que reenvía al puerto 9200 del nodo ES. Se recomienda enlazar la IP pública resistente y configurar el límite de ancho de banda.
- Por qué elegirlo.Lograr el equilibrio de carga del tráfico de acceso para mejorar la disponibilidad y escalabilidad del servicio, al tiempo que se protegen los detalles internos del clúster back-end del cliente, lo que facilita su gestión.
Resumen de los beneficios del programa
- ⚡ Elasticidad extrema con escalado segundo a segundo.Adoptando el grupo Serverless o de escalado elástico, puede ampliarse instantáneamente a la escala requerida según la presión empresarial, y los recursos se recuperan automáticamente tras el pico de tráfico, realizando así verdaderamente el pago por uso.
- 💸 Reducir significativamente los costes generales.Gracias a la separación inteligente de datos fríos y calientes y a la tecnología de compresión ZSTD, el coste de almacenamiento de datos fríos se reduce en más de 80%, lo que evita el despilfarro generado por la reserva de una gran cantidad de recursos para hacer frente a los picos, y el coste global puede optimizarse en 50%+.
- 🛡️ Listo para usar, de nivel empresarial y altamente disponible.Ofrece un SLA de disponibilidad del servicio del 99,95%, un mecanismo de réplica integrado, despliegue de disponibilidad cruzada, capacidad de conmutación por error automática y funciones de seguridad como aislamiento de red VPC, grupos de seguridad, registros de acceso, etc. para garantizar la continuidad de la empresa y la seguridad de los datos.
- 🔧 Operativamente libre y centrado en la innovación empresarial.El servicio totalmente gestionado elimina las tediosas tareas de operación y mantenimiento, como la instalación de hardware, la instalación de software, la actualización de versiones, la recuperación de fallos, etc. Sólo es necesario realizar una sencilla configuración a través de la consola o la API, y se puede obtener una potente capacidad de búsqueda, de modo que el equipo pueda centrarse más en el desarrollo del negocio principal.
Escenarios de aplicación y clientes aplicables
- Escenarios típicos de aplicación.
- Sitio web/aplicación de comercio electrónico.Búsqueda de productos, filtrado, listas recomendadas, para hacer frente a 618, doble once y otras grandes promociones durante la consulta masiva instantánea.
- Plataformas de contenidos e información.Búsqueda por palabras clave y texto completo de noticias, vídeos, artículos y mucho más.
- Análisis de registros y supervisión de operaciones (ELK).Recopilación, almacenamiento y análisis en tiempo real de datos de registro masivos procedentes de servidores y aplicaciones empresariales para la resolución de problemas y la obtención de información empresarial.
- Recuperación de datos dentro de la empresa.Como CRM, ERP y otros sistemas de consulta de información sobre clientes, pedidos y productos.
- Características de los clientes aplicables.
- Hay picos y valles significativos en la carga empresarial y los picos son impredecibles.
- La cantidad de datos es enorme (nivel TB-PB) y el acceso a los datos tiene una clara característica caliente y fría.
- Empresas medianas y grandes que buscan soluciones rentables y quieren optimizar sus costes de infraestructura.
- Falta de un equipo profesional de operaciones de Elasticsearch para todos los desarrolladores que desean un servicio de búsqueda listo para usar, estable y fiable.