node.js - nodejs - routing node js
¿Qué API Gateway está listo para la producción y proporciona buen rendimiento y características? (2)
Tenemos muchos servicios REST dentro de nuestra infraestructura y estos se construyen con diferentes tecnologías (Java, Go, Ruby, NodeJS) pero todos ellos tienen ciertos requisitos comunes como autenticación, autorización, limitación de velocidad, análisis, etc., por lo que estamos pensando en tener una API. Puerta de enlace frente a estas API para que toda la comunicación se realice solo a través de ella. Llegué a conocer algunos productos de código abierto en el mercado como Strongloop/Loopback , WSO2 , TYK , APIAXLE y 3scale pero la mayoría de estos no parecen estar probados por el tiempo y listos para el uso en producción. Pocas cosas que vienen a mi mente ahora:
- ¿Cómo son los comentarios de los usuarios después de usar una de estas soluciones?
- Mucha gente necesitaría este tipo de característica, entonces, ¿cómo lo están haciendo? ¿Estoy mirando en la dirección correcta?
- ¿Hay una manera mejor de resolver mi problema sin usar API Gateway?
Puedo responder por 3scale desde que trabajo allí.
3scale es una plataforma de administración de API completa que implementa autorización, limitación de tasa y análisis para su API. Ofrecemos diferentes opciones de integración, la más popular de las cuales es nuestra puerta de enlace API, que puede ser alojada por nosotros o implementada en las instalaciones.
Esta es una puerta de enlace basada en Nginx que se implementa en frente de los servidores de su API y autoriza las llamadas entrantes al llegar a la API 3scale. La puerta de enlace extrae la clave API de la llamada entrante y el punto final al que se llama y comprueba si esta solicitud particular debe ser autorizada (es decir, clave válida, uso dentro de los límites, punto final válido, etc.).
Una parte clave de nuestra puerta de enlace API es que la autorización se realiza de forma asíncrona para que no tenga ningún impacto en la latencia percibida por el usuario de la API.
Con respecto a sus preguntas particulares:
Tenemos 600 clientes utilizando 3scale en producción. Esto incluye API con volúmenes de tráfico muy grandes, algunos de los cuales puede ver y leer here .
Yo diría que la elección principal es entre usar una plataforma de administración de API o implementar estas características por su cuenta. La ventaja de usar algo como 3scale es que nos especializamos exactamente en este problema y brindamos otras funciones muy útiles, además de la autorización básica y la limitación de tarifas: un portal de desarrolladores alojado en el que los usuarios de la API pueden registrar y administrar sus claves, un sistema de facturación. que puede utilizar para ofrecer planes pagados para su API, soporte para patrones de autenticación avanzados como OAuth2 y otros que puede leer en nuestro sitio web.
También puede integrar 3scale en su API con una de nuestras bibliotecas de software. Sin embargo, como tiene múltiples API escritas en diferentes idiomas, recomendaría la puerta de enlace de la API, ya que solo tendrá un único punto de integración (por lo tanto, más fácil de mantener).
Como siempre lo mejor es si lo pruebas por ti mismo. Tenemos un plan gratuito sin límites de tiempo, por lo que puede comenzar allí.
Si menciono sobre WSO2 API Manager,
Como sé, mucha gente lo usa en la producción y proporciona buenos comentarios al respecto.
Sí. puede utilizar el Administrador de API para limitar la tasa. API Manager tiene una característica llamada niveles de aceleración. Puedes usar esa función para limitar la tasa. Para otras funciones como la autenticación y la autorización, debe usar el Administrador de API con el servidor de identidad WSO2 . Para la función de análisis, debe utilizar el Administrador de actividad empresarial API Manager WSO2 . Integrando todos estos productos puede lograr las características que ha mencionado.