La empresa de carga e intercambio Kamax utiliza las mejores prácticas para mejorar la estabilidad de las aplicaciones en línea a bajo costo.

Autor: Kaimax Nueva Energía

Kamax New Energy Technology Co., Ltd. se estableció el 16 de mayo de 2019. Los accionistas actuales de la empresa conjunta son Volkswagen (China) Investment Co., Ltd., China FAW Co., Ltd. y FAW-Volkswagen Co., Ltd. [El aumento de capital y acciones estará sujeto a la obtención de las aprobaciones de supervisión apropiadas (incluidas las antimonopolio)], Wanbang Digital Energy Co., Ltd. y Anhui Jianghuai Automobile Group Holdings Co., Ltd., con sede en Changzhou, Jiangsu. Kaimax integra las ventajas de las empresas de automóviles y de carga, proporcionando todo, desde I+D y fabricación de infraestructura de carga hasta la interconexión inteligente de software, desde usuarios de carga privados hasta usuarios semipúblicos, públicos y empresariales, desde la fuente industrial de suministro de energía hasta la plataforma de servicio.La experiencia del terminal permite una conexión perfecta entre el front-end y el back-end de cada formato de negocio.

Kaimax llega para la nueva generación de consumidores de China. No solo se centra en la experiencia de carga de los propietarios privados de automóviles eléctricos, sino que también brinda a los usuarios servicios de alta calidad para brindarles una nueva experiencia de carga conveniente, sin preocupaciones, inteligente y eficiente. , iniciando un viaje para disfrutar la vida. Al mismo tiempo, Camax se compromete a proporcionar servicios de carga en escenarios completos para viajes eléctricos. Basándose en una sólida capacidad de investigación y desarrollo, tecnología central avanzada y servicios de alta calidad, Camax también ha ganado muchos premios en el campo de carga de vehículos nacionales con nuevas energías: En 2021, Camax ganó el "Premio a la innovación en el mejor servicio de operación en la industria de pilas de carga de China"; en marzo de 2023, Kaimax ganó el "Premio a la estación de carga de cinco estrellas de alta calidad" de una sola vez, convirtiéndose en el primer grupo de operadores de carga destacados en recibir una calificación de cinco estrellas (el nivel de cinco estrellas es la estación de mayor nivel y estándar); en junio del mismo año, Cammax ganó el premio a la marca de los diez operadores más influyentes de 2023 en la industria de carga e intercambio de China. Kamax continuará promoviendo la optimización y la innovación de la velocidad de construcción de la red de carga y el recorrido del usuario de carga, y se centrará en la investigación y el desarrollo de equipos de carga de alta potencia y la exploración de nuevos servicios energéticos, promoviendo así el desarrollo ecológico de una integración profunda de Nuevas energías y vehículos de nuevas energías.

La estabilidad empresarial es un gran desafío

En 2023, Camex seguirá comprometido con la innovación integrada centrada en el usuario y se esforzará por crear viajes eléctricos inteligentes. A finales de mayo de este año, la red de carga de Kamax cubría 180 ciudades de China, construyó 1.198 estaciones de carga y 10.490 terminales de carga y acumuló más de 1,96 millones de usuarios. De quedarse atrás en la construcción a estar "moderadamente avanzada", la industria de los pilotes de carga marcará el comienzo de un gran desarrollo en los próximos tres años, con un tamaño de mercado de cientos de miles de millones. Hoy en día, muchas ciudades de todo el país están constantemente actualizando y aumentando la instalación y utilización de pilas de carga. Con el desarrollo de vehículos de nueva energía, las demandas de los grupos de usuarios de carga están creciendo rápidamente. Con el rápido crecimiento del negocio, Kaimax ha estabilizado su estructura. El sexo y la usabilidad también plantean desafíos sin precedentes.

Camis adopta el método tradicional SpringBoot para el desarrollo de aplicaciones, y las aplicaciones se interconectan a través de solicitudes HTTP. Es la simplicidad de la arquitectura SpringBoot lo que ayuda eficazmente a que el negocio de Camis y la cantidad de microservicios se expandan rápidamente. Sin embargo, a medida que aumenta la escala de los microservicios, se descubre gradualmente que existen algunos problemas de estabilidad y eficiencia en varias etapas de lanzamiento y operación de la aplicación. A medida que aumenta el número de usuarios, también aumentan las necesidades correspondientes y los escenarios comerciales se vuelven cada vez más complejos. En este momento, es difícil garantizar que se puedan cubrir todos los escenarios confiando únicamente en pruebas internas. Cada lanzamiento de aplicación requiere suficientes pruebas y suficiente verificación en escala de grises. Para cumplir con los requisitos comerciales de iteración rápida, cómo realizar múltiples iteraciones en paralelo en el entorno de desarrollo a bajo costo y garantizar la estabilidad de cada versión comercial se ha convertido en la clave para mejorar la eficiencia.

A gran escala, por pequeño que sea un problema, puede afectar a todo el cuerpo. Por un lado, el tráfico al que nos enfrentamos es aleatorio e impredecible: cuando el aumento del tráfico excede el límite de capacidad del servicio, puede ralentizarlo, aumentar la carga y provocar que el servicio falle. Por otro lado, la arquitectura de microservicio distribuido es una arquitectura de malla compleja con enlaces de llamadas intrincados. En este momento, cuando cualquier servicio (incluidos los servicios externos dependientes) tiene factores inestables (como llamadas lentas o excepciones), es posible que el flujo ascendente La persona que llama cae, lo que provoca efectos en cascada. Por lo tanto, en la gobernanza de microservicios, necesitamos algunos medios para prevenir estas situaciones inestables.

Ante la continua evolución y crecimiento de la arquitectura de microservicios, los estudiantes de Kamax Arquitectura también se dieron cuenta de la necesidad de introducir capacidades de gobernanza de microservicios para gestionar adecuadamente los microservicios actuales, mejorando así aún más la estabilidad y eficiencia de los microservicios. De manera similar, el negocio aún enfrenta demandas de un rápido desarrollo. Si el marco Spring Boot original se actualiza a Spring Cloud y se introducen varias capacidades de gobernanza de servicios de alto nivel, será necesario que los estudiantes de I + D de Kaimax se enfrenten actualmente al rápido desarrollo del negocio. El costo de inversión es demasiado alto.

Implementar una actualización de la arquitectura de microservicios sin ningún sentido

¿Existe alguna manera de implementar las capacidades de gobernanza de nuestros microservicios sin cambiar el código? Por ejemplo, implementando la versión en escala de grises de enlace completo para evitar los riesgos de estabilidad causados ​​por los cambios; usando las capacidades actuales de limitación y degradación para garantizar la estabilidad del estado operativo y resolviendo los riesgos de estabilidad causados ​​por el tráfico incierto; usando capacidades de autenticación para resolver los microservicios. Riesgos de llamadas intermitentes. Es decir, ¿cómo podemos mejorar el rendimiento del avión reemplazando el motor mientras el avión funciona a alta velocidad? Más importante aún, debería ser insensible con los pasajeros de nuestro avión.

Abstraemos aún más el problema y preguntamos cómo podemos lograr las capacidades de gobierno de servicios de cualquier aplicación Java sin cambiar el código. En este proceso, debemos garantizar una serie de factores realistas como la estabilidad, la eficiencia del diagnóstico de problemas, la sostenibilidad de la arquitectura y el rendimiento. .

La exploración de la tecnología siempre sirve al negocio. Tuvimos una discusión adicional sobre la solución de Kaimax. ¿Podemos resolver el problema de la gestión de servicios no intrusiva para los usuarios unificando la solución de gestión del tráfico norte-sur y este-oeste?

  1. La puerta de enlace nativa de la nube MSE es un producto de puerta de enlace de próxima generación compatible con el estándar K8s Ingress. Combina puerta de enlace de tráfico, puerta de enlace de microservicio y puerta de enlace de seguridad WAF en uno. Tiene las características de alta integración, fácil uso, fácil expansión y actualización en caliente. . Abre múltiples fuentes de servicios, como K8/Nacos, y mejora la estabilidad de la aplicación de todo el enlace a través de medios como sin pérdidas en línea y fuera de línea, escala de grises de enlace completo, protección contra sobrecarga, autorreparación de fallas y degradación de limitación de corriente.

  2. La puerta de enlace nativa en la nube de MSE adopta un modelo totalmente administrado. Después de elegir una puerta de enlace nativa en la nube, los usuarios solo deben preocuparse por el uso específico de la puerta de enlace, y no necesitan preocuparse por la operación y el mantenimiento, la estabilidad, el monitoreo, las alarmas y otras funciones. de la propia puerta de enlace nativa de la nube. Se puede utilizar de inmediato. , umbral bajo de uso.

Teniendo en cuenta que la puerta de enlace nativa de la nube puede unificar el tráfico y el control de flujo a través de reglas de enrutamiento, ¿se puede utilizar Higress para implementar los requisitos de gestión del tráfico de llamadas entre servicios?

Reenvío y gestión de tráfico entre servicios.

Ahora que la idea ha sido finalizada y todos han evaluado la estabilidad, la seguridad y el costo, pueden comenzar rápidamente a practicar y explorar la solución. El primer problema que enfrentamos es la forma original de llamar al servicio K8s a través del nombre de dominio: ¿cómo reenviamos el tráfico a Higress y luego lo reenviamos al Pod correspondiente real a través de Higress? Y en este proceso debemos considerar la estabilidad de la solución.

  • La forma inmediata que me viene a la mente es modificar las configuraciones de Servicio y Puntos Finales en K8 y usar la capacidad coreDNS para reenviar el tráfico a Higress.
apiVersion: v1
kind: Service
metadata:
 name: provider
spec:
  type: ClusterIP
  clusterIP: None
---
apiVersion: v1
kind: Endpoints
metadata:
  name: provider
spec:
  subsetS:
    ip: ${higress-slb}
    port: 80
  • En aras de la estabilidad comercial, CoreDNS se puede reemplazar por el mismo tipo de producto PrivatelinkZone DNS. Al mismo tiempo, los registros DNS de tipo CNAME se pueden configurar para cambiar por lotes el nombre de dominio *.camsnet.com al que se accede entre servicios a la nube nativa. puerta.

Hasta ahora, hemos completado que el tráfico de la Orden se reenvía a la puerta de enlace interna Higress. A continuación, necesitamos configurar las reglas de enrutamiento de Higress para reenviar el tráfico al servicio de destino real.

  • Sincronizamos el servicio del servicio de contenedor con la puerta de enlace en la puerta de enlace nativa de la nube MSE (versión comercial Higress) y configuramos las reglas de enrutamiento correspondientes para implementar el reenvío de tráfico.

Una vez que el tráfico se reenvía a través de la puerta de enlace nativa de la nube de MSE, podemos implementar más capacidades de gobernanza.

  • En este proceso, podemos configurar directamente el enrutamiento de etiquetas para lograr capacidades de publicación en escala de grises y luego combinarlo con el seguimiento de enlaces para lograr capacidades de escala de grises de enlace completo.
  • Durante este proceso podremos configurar reglas de autenticación JWT en la ruta para lograr llamadas seguras entre servicios.

Seguimiento de enlaces observables y completos

Al acceder al servicio de monitoreo de aplicaciones en tiempo real ARMS - Application Monitoring , Kaimax puede realizar las capacidades de monitoreo y diagnóstico de la aplicación sin modificar una línea de código y puede comprender rápidamente los tres indicadores más críticos de la aplicación: tiempo de respuesta, rendimiento, y tasa de error Al mismo tiempo, de acuerdo con el indicador de excepciones, utilice la capacidad de la cadena de llamadas para rastrear rápidamente todo el microservicio.

Al mismo tiempo, la capacidad de seguimiento de enlaces también proporciona una base técnica de soporte para que las aplicaciones alcancen una escala de grises de enlace completo.

Transmisión transparente de etiquetas de tráfico de enlace completo

Utilice el mecanismo de seguimiento de equipaje para transmitir el identificador de teñido correspondiente a lo largo de todo el enlace, porque la mayoría de los marcos de seguimiento admiten conceptos y capacidades de equipaje, como: OpenTelemetry, Skywalking, Jaeger, etc. Por supuesto, la capacidad de seguimiento de ARMS también cumple con este estándar: implementamos el complemento Higress WASM y leemos la etiqueta x-mse correspondiente a la clave de transmisión transparente especificada, como x-mse-tag, en el filtro saliente de Higress desde el Equipaje en la ubicación especificada del protocolo de seguimiento. El valor se inserta en el encabezado Http para que Higress realice el enrutamiento. Esto permite la transmisión transparente de enlaces completos de etiquetas personalizadas.

Una vez que tengamos la capacidad de transmisión transparente de enlaces completos de etiquetas personalizadas, podremos crear capacidades completas de escala de grises de enlaces completos. ¿Qué es la escala de grises de enlace completo?

Bajo la arquitectura de microservicio, se han desarrollado algunos requisitos que implican cambios simultáneos en múltiples microservicios en el enlace de llamada de microservicio. Por lo general, cada microservicio tendrá un entorno o grupo en escala de grises para aceptar tráfico en escala de grises. Esperamos utilizar El tráfico que ingresa al entorno en escala de grises ascendente también puede Ingrese al entorno de escala de grises descendente para garantizar que una solicitud siempre se entregue en el entorno de escala de grises. Incluso si hay algunos microservicios en este enlace de llamada que no tienen un entorno de escala de grises, estas aplicaciones solicitan descendentes Aún puede regresar al entorno de escala de grises. Si una versión implica varios microservicios en el enlace, podemos realizar sin problemas la versión en escala de grises del enlace completo sin preocuparnos por el riesgo de que el tráfico en escala de grises fluya de forma aleatoria.

Después de implementar la transmisión transparente de enlace completo de la etiqueta x-mse-tag, podemos configurar reglas de enrutamiento de etiquetas basadas en x-mse-tag en el enrutamiento Higress para lograr un circuito cerrado de tráfico con etiquetas específicas en el nodo que se aplica. una versión específica, logrando así la capacidad de enlace completo en escala de grises de los "carriles de tráfico".

Capacidad de protección del tráfico

¿Cómo podemos lograr capacidades de protección del tráfico sin modificar el código? Tomando como ejemplo el control de tráfico común y la degradación de los disyuntores, primero introduzcamos las capacidades de protección del tráfico.

  • control de flujo

El tráfico es muy aleatorio e impredecible. Puede que haya calma durante un segundo, pero puede haber un pico de tráfico al segundo siguiente (como la escena a las 0:00 en Double Eleven). Cada sistema y servicio tiene un límite superior en la capacidad que puede transportar. Si el tráfico repentino excede la capacidad del sistema, puede provocar que se procese la solicitud, el procesamiento de la solicitud acumulada es lento, la CPU/carga se dispara y finalmente conduce a avería del sistema. Por lo tanto, debemos limitar este tráfico repentino y asegurarnos de que el servicio no se vea saturado mientras procesa las solicitudes tanto como sea posible: esto es control de flujo.

  • degradación del disyuntor

Las arquitecturas de microservicios modernas están distribuidas y compuestas por muchos servicios. Los diferentes servicios se llaman entre sí para formar enlaces de llamadas complejos. Los problemas anteriores tendrán un efecto amplificado en las llamadas de enlace. Si un determinado vínculo en un vínculo complejo es inestable, puede caer en cascada, provocando eventualmente que todo el vínculo deje de estar disponible. Por lo tanto, debemos desconectar y degradar los servicios inestables y débilmente dependientes y cortar temporalmente las llamadas inestables para evitar que factores de inestabilidad local provoquen una avalancha general.

Kamax implementa sin problemas las capacidades de protección del tráfico accediendo a las capacidades de protección del tráfico de gestión de servicios MSE (Sentinel Enterprise Edition). En comparación con la versión comunitaria, Sentinel Enterprise Edition tiene ciertas ventajas en términos de uso y funcionalidad.

Más exploración y práctica.

Sin cambiar el código, podemos desarrollar rápidamente capacidades de gobernanza de microservicios completas y sistemáticas. En la actualidad, Kamax ha implementado una serie de capacidades como escala de grises de enlace completo, seguimiento y observabilidad de enlace completo y protección del tráfico basada en Higress, lo que permite que la arquitectura actual de Kamax enfrente con más calma los desafíos que plantean los negocios en rápido crecimiento.

Por otro lado, para Higress, la implementación de la solución Kamax ha inyectado nuevas ideas en el desarrollo del ecosistema de Higress. También continuamos mejorando la facilidad de uso y la estabilidad de Higress, con la esperanza de brindar más beneficios a más empresas. Gran valor.

Se lanza oficialmente Qt 6.6. La ventana emergente en la página de lotería de la aplicación Gome insulta a su fundador . Se lanza oficialmente Ubuntu 23.10. ¡También puedes aprovechar el viernes para actualizar! RISC-V: no controlado por ninguna empresa o país. Episodio de lanzamiento de Ubuntu 23.10: la imagen ISO fue "retirada" urgentemente debido a que contenía discurso de odio. Las empresas rusas producen computadoras y servidores basados ​​en procesadores Loongson. ChromeOS es una distribución de Linux que utiliza Google Desktop Medio ambiente: estudiante de doctorado de 23 años corrige un "error fantasma" de 22 años en Firefox Lanzamiento de TiDB 7.4: oficialmente compatible con MySQL 8.0 Microsoft lanza la versión Windows Terminal Canary
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/3874284/blog/10117925
Recomendado
Clasificación