Java Chassis 3: Equilibrio de carga de dimensión de interfaz

Este artículo es compartido por Huawei Cloud Community " Descifrado de tecnología Java Chassis 3: equilibrio de carga de dimensión de interfaz ", autor: liubao68.

En Java Chassis 3 Technology Decrypted: Load Balancing Selector, se descifran los algoritmos proporcionados por el equilibrio de carga de Java Chassis 3 para resolver el rendimiento. La tecnología descifrada esta vez proviene de casos reales de clientes:

En el sistema de microservicio del cliente, hay muchas interfaces con diferentes lógicas y modos de acceso especiales. A menudo hay un fenómeno de desequilibrio de carga en el que algunas instancias tienen colas de grupo de subprocesos graves, mientras que otras instancias tienen cargas bajas. Por ejemplo: el microservicio A accede al microservicio B. El microservicio B tiene dos instancias, B1 y B2, y dos interfaces, OP1 y OP2. Entre ellas, el procesamiento de OP1 requiere más tiempo y consume más tiempo de CPU, mientras que el procesamiento de OP2 es más rápido. La lógica empresarial del microservicio A llamará al microservicio B en el modo de acceso de OP1, OP2, OP1, OP2... En el sistema del cliente, sucede a menudo que OP1 accede a B1 y OP2 accede a B2.

La razón de este problema es que el algoritmo Round Robin asigna instancias según el orden de las solicitudes sin considerar de manera diferencial los requisitos de equilibrio de las diferentes solicitudes. La forma más sencilla y directa de resolver este problema es utilizar el algoritmo aleatorio. Sin embargo, al seleccionar un algoritmo de equilibrio de carga, la previsibilidad es muy conveniente para la localización, el análisis y la evitación de problemas. Por lo tanto, todavía falta el algoritmo Round Robin. La mejor opción para la provincia.

La solución en Java Chassis 3 es proporcionar equilibrio de carga dimensional de interfaz.

cke_132.png

En el escenario predeterminado, Java Chassis crea un equilibrador de carga para cada contrato (esquema). Si OP1 y OP2 pertenecen a UserService y LoginService respectivamente, en el escenario de ejemplo anterior, el desarrollador no necesita realizar ninguna configuración y el tráfico lo hará. equilibrarse automáticamente.

Si tanto OP1 como OP2 pertenecen a LoginService y necesita garantizar el equilibrio del tráfico de OP1, puede configurar:

servicecomb.loadbalance.${Microservicio B}.${Nombre del contrato}.${Nombre de la interfaz}.strategy.name=RoundRobin

Por ejemplo:

servicecomb.loadbalance.B.LoginService.login.strategy.name=RoundRobin

Establezca un equilibrio de carga diferente para la solicitud OP1 (iniciar sesión) que requiere mucho tiempo.

más discusión

Del principio de equilibrio de carga anterior se puede ver que suponiendo que el microservicio X accede a M microservicios y cada microservicio tiene un promedio de N contratos, entonces X creará un equilibrio de carga M * N. Para la mayoría de los sistemas, este orden de magnitud está dentro de 1K. Generalmente, solo necesita asignar un equilibrio de carga independiente a las interfaces que consumen mucho tiempo para garantizar el equilibrio del tráfico para las solicitudes que consumen mucho tiempo. Además de resolver el problema del equilibrio del tráfico, el método de configuración de Java Chassis también puede proporcionar una solución de configuración muy simple para otros escenarios especiales. Por ejemplo, se puede configurar mediante:

servicecomb.loadbalance.${Microservicio B}.${Nombre del contrato}.${Nombre de la interfaz}.strategy.name=SessionStickiness

Especifique políticas de rigidez de sesión para interfaces específicas.

Resumir

Java Chassis 3 proporciona capacidades de gestión de equilibrio de carga muy potentes para diferentes escenarios de aplicaciones a través de la configuración de políticas de equilibrio de carga de dimensiones de interfaz, lo que ayuda a resolver problemas de carga de aplicaciones, como el desequilibrio de carga y la rigidez de la sesión.

Haga clic para seguir y conocer las nuevas tecnologías de Huawei Cloud lo antes posible ~

RustDesk suspendió el servicio doméstico Taobao (taobao.com) debido a un fraude desenfrenado, reinició el trabajo de optimización de la versión web, Apple lanzó el chip M4, los estudiantes de secundaria crearon su propio lenguaje de programación de código abierto como una ceremonia de mayoría de edad - Los internautas comentaron: Confiando en La defensa, Yunfeng renunció a Alibaba y planea producir en el futuro el destino para programadores de juegos independientes Visual Studio Code 1.89, según anunció oficialmente Huawei. El ajuste laboral de Yu Chengdong fue clavado en el “FFmpeg Pillar of Shame”. "Hace 15 años, pero hoy tiene que agradecernos: ¿Tencent QQ Video se venga de su vergüenza anterior? La estación espejo de código abierto de la Universidad de Ciencia y Tecnología de Huazhong está oficialmente abierta al acceso a la red externa
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4526289/blog/11106092
Recomendado
Clasificación