¿Cómo construir una puerta de enlace API empresarial adecuada?
Lo que llamamos puerta de enlace API en una arquitectura de microservicio generalmente se refiere a los primeros tres tipos de escenarios de uso. Es decir, expone principalmente las funciones API dentro de la empresa a otras aplicaciones o socios. Como barrera entre el cliente y el servidor, la capa de puerta de enlace desempeña principalmente tres funciones:
La primera función es el aislamiento, que sirve como límite del sistema empresarial para aislar el sistema de red externo de la red interna. sistema.
La segunda función es el desacoplamiento, que permite a todas las partes del sistema de microservicios ajustarse de forma independiente, libre, eficiente y flexible sin preocuparse por afectar otros aspectos.
La tercera función es construir, proporcionando un lugar a través del mecanismo de extensión para facilitar una serie de procesamiento y procesamiento de solicitudes.
Segundo: Beneficios de la puerta de enlace
(1) La capa de puerta de enlace aísla el exterior y el interior, garantizando la seguridad de los servicios en segundo plano.
(2) El control de acceso externo se cambia del nivel de red al nivel de operación y mantenimiento, reduciendo el proceso de cambio y los costos de error.
(3) Reducir el acoplamiento entre el cliente y el servicio, y el servicio puede desarrollarse de forma independiente. El mapeo se realiza a través de la capa de puerta de enlace.
(4) Reducir la frecuencia del acceso externo y mejorar la eficiencia del acceso mediante la agregación de la capa de puerta de enlace.
(5) Ahorre costos de desarrollo de servicios back-end y reduzca los riesgos en línea.
(6) Proporcionar integración empresarial sencilla, lanzamiento gris y soluciones de prueba en línea.
(7) Fácil de ampliar.
Tres: Factores a considerar para las puertas de enlace API
1. Problemas de seguridad
Cuando una empresa expone sus servicios al mundo exterior, primero debe garantizar la seguridad de El uso del servicio y la prevención del acceso malicioso externo afectan el negocio de la empresa, especialmente los servicios que involucran transacciones, por lo que se debe considerar plenamente la seguridad. Para garantizar la seguridad, debemos considerar el establecimiento de enlaces de comunicación, el cifrado de los datos de comunicación, la integridad de los datos y el no repudio.
2. Problemas de rendimiento
Como entrada a la API empresarial, todas las solicitudes se reenviarán a través de la puerta de enlace de la API. Es posible que la presión para acceder a la puerta de enlace API sea enorme y que algunos sitios web incluso alcancen decenas de millones de visitas por minuto. Especialmente en algunas empresas de Internet, una gran cantidad de terminales móviles necesitan interactuar con servicios de back-end todo el tiempo. Si no se puede garantizar el alto rendimiento de la puerta de enlace, las empresas deberán invertir muchos equipos y costos a nivel de puerta de enlace. Sucedió en una empresa de Internet. Debido a problemas de rendimiento de la puerta de enlace, la cantidad de máquinas en la puerta de enlace debe sincronizarse con la cantidad de servidores backend. Esta situación es claramente tolerada por los servicios empresariales.
Cuatro: Funciones de la puerta de enlace API
La puerta de enlace API empresarial debe proporcionar las siguientes funciones:
Función de la puerta de enlace API
1. : Las interfaces de acceso a servicios externos se asignan a las interfaces de acceso a servicios internos correspondientes.
2. Autenticación y autorización: proporciona autenticación de la identidad del usuario y verificación de los derechos del usuario, incluida la legitimidad de la identidad del usuario, verificación de la autorización de acceso al rol del usuario, verificación de la autorización de acceso del usuario, verificación de la lista negra de IP, etc. .
3. Procesamiento de tiempo de espera: cuando el tiempo de respuesta de la puerta de enlace API que llama a los servicios internos excede el tiempo de espera máximo permitido establecido en el subsistema de administración en segundo plano de la puerta de enlace API de desarrollo propio, la puerta de enlace API detendrá inmediatamente la llamada y regresará. para ti Noticias relacionadas.
4. Control de limitación actual: cuando la frecuencia de llamadas a servicios internos por parte de la puerta de enlace API alcanza un cierto umbral, la puerta de enlace API desconectará inmediatamente el enlace. Una vez transcurrido el tiempo, el enlace se cerrará automáticamente.
5. Manejo de fusibles: El manejo de fusibles es particularmente útil para evitar un consumo innecesario de recursos. Cuando la frecuencia de llamadas a servicios internos anormales a través de la puerta de enlace API alcanza un cierto umbral, la puerta de enlace API se desconectará temporalmente, es decir, desconectará temporalmente el enlace y detendrá temporalmente sus llamadas a ese servicio interno. Después de una interrupción temporal del circuito, el enlace se cerrará automáticamente después de un período de tiempo.
6. Grabación de información de registro: registre la IP del cliente, los parámetros de solicitud del cliente, los resultados de devolución, la información de excepción y otra información.
7. Equilibrio de carga:? Proporciona equilibrio de carga de las interfaces API, que puede manejar un alto acceso simultáneo a las interfaces API y evitar avalanchas de servicios.
8. Protección de seguridad: proporcione servicios de autenticación estrictos y admita firmas de algoritmos. Los usuarios utilizan la clave proporcionada por la puerta de enlace API para la autenticación. autenticación Solo las solicitudes autorizadas pueden llegar al servicio de la aplicación backend. También cifrado SSL.
9. Lanzamiento en escala de grises: admite la implementación en escala de grises en línea de interfaces API para reducir el riesgo de cambio de versión de la aplicación.
Selección de tecnología
Hoy en día, las grandes empresas seleccionan cada vez más puertas de enlace API empresariales.
Puede obtener información sobre openresty, openrestyedge y kong Kong en el sistema nginx. Seleccione Springcloudgateway en el sistema Java como modelo. Generalmente, no es necesario realizar una autoinvestigación completa y el umbral es un poco alto.
Alcance de los requisitos
La puerta de enlace API empresarial es un término general que incluye múltiples funciones como enrutamiento de datos, conversión de protocolos, fusión, limitación de corriente, aplicación de firewall y liberación gris. Si desea desarrollarse de forma independiente, primero aclare el alcance de los requisitos.
Alta disponibilidad
Como entrada de tráfico, las puertas de enlace empresariales tienen altos requisitos de alta disponibilidad. Los problemas son como el impacto de la desconexión de la red. Los arquitectos de aplicaciones y sistemas deben discutir el diseño.