2015-07-21 15 views
8

Ho creato diversi microservizi RESTful e li ho ancorati. Ora voglio avere un'interfaccia utente basata sul Web per loro e la possibilità di creare utenti e concedere loro le autorizzazioni per utilizzare alcune delle API.Quali sono le opzioni per il gateway API con finestra mobile?

So che ho bisogno di un qualche tipo di gateway API. Il mio primo pensiero è stato che potevo sempre fare quel modo bruteforce: creare qualche app di django che servisse l'interfaccia utente e proxy tutte le richieste alle API a mano, ma questo sembra molto noioso. Forse ci sono delle alternative? Sono pronto per Tyk, ma non riesco a trovare alcuna informazione sulla possibilità di aggiungere utenti e concedere loro le autorizzazioni.

Probabilmente avrei potuto creare un'applicazione che servisse da gateway API e automatizzare il proxy delle richieste scrivendo del codice che avrebbe dovuto modellarlo. Quindi, per esempio, ho fondamentalmente bisogno di una mappatura tra url esterni a URL di API reali e qualche logica di autorizzazione. Forse ci sono già qualcosa del genere?

risposta

10

ero alla ricerca di qualcosa di simile, incluso il supporto per il controllo della banda, console di interfaccia utente, ecc Si riduce a un paio di strumenti freemium come:

e alcuni open source quelli:

ho deciso tyk dal momento che ha una bella console UI e documenti solidi. Tutti sono stati citati su Quora, che è bello quando vuoi andare a fare shopping :)

+0

Che dire creazione di utenti e concedere loro i permessi per le API? – user1685095

2

Se ti piace sporcarti le mani, potresti facilmente implementare il tuo gateway API semplificato. Credo che questo approccio si adatti perfettamente al paradigma dei microservizi: implementa un servizio semplice con funzionalità limitate che fa solo una cosa, ma lo fa bene.

Ho scritto un tutorial su questo argomento (implementando un semplice gateway API per microservizi Dockerized con Node.js). Il mio esempio è composto da circa 100 righe di codice JavaScript, utilizza node-docker-monitor per ascoltare eventi Docker e http-proxy per gestire richieste HTTP dai client.

https://memz.co/api-gateway-microservices-docker-node-js/

o soluzione alternativa con SkyDNS e Nginx

https://memz.co/reverse-proxy-nginx-docker-microservices/