Le meilleur moyen d'avoir une API Web avant la demande aux autres

J'ai un peu de web services s'exécutant sur des serveurs différents, et je veux avoir un web service "en avant" de la reste à décider quel service web (serveur), la demande doit être transmise à la base de valeurs d'en-tête.

L'idée est qu'un client envoie une requête, dire:

http://api.mysite.com/cars

L'API à l'mysite.com inspecter la demande, extraire des informations à partir de la clé API (qui est fournie dans les en-têtes) et le rediriger vers le serveur approprié, par exemple

http://server4.mysite.com/api/cars

Est-ce que le travail? Je suis préoccupé par la façon dont je vais retourner la réponse (w/data) à partir de "server4" pour le client. La réaction ne peut être renvoyé au premier serveur ou le client à atteindre cette réponse?

Les deux scénarios sont viables. Celui qui vous voulez et ce qui ne fonctionne pas avec qui?
Je veux que les clients n'ont à parler de api.mysite.com indépendamment de quel serveur ils sont vraiment contactant. J'étais juste inquiète de savoir si cela serait possible. J'ai pensé que peut-être le client serait automatiquement(?) recevoir une réponse du premier serveur et ainsi manquer le "second" de la réponse. Peut-être que c'est juste un idiot pensé... je voulais juste savoir si je serai en mesure de retourner la réponse à partir de la 2ème serveur directement au client.
Vous pouvez les rediriger (ils vont communiquer directement avec le serveur). En supposant que vous site est sessionless, alors c'est bien à cause de l'équilibrage de la charge (et parce qu'il n'a pas d'impact sur les ressources de votre serveur). Au lieu de cela, si vous voulez "filtre" de leurs demandes (par exemple en raison de l'authentification est effectuée sur votre serveur), alors vous devez d'abord télécharger la réponse de la 2ème serveur, puis l'envoyer au client. Avantage: ils ne voient que vous, vous pouvez avoir des sessions (sans effort), mais les inconvénients: vous aurez besoin de beaucoup plus de ressources de votre serveur (et l'équilibrage de charge sera plus difficile).
J'ai exactement la même configuration, les appels des clients de l'api externe d'extrémité et puis, sur la base de l'entrée, je les rediriger vers l'api interne d'extrémité (sur différents serveurs internes) et tout fonctionne, et aussi loin que la réponse est concerné si vous souhaitez masser votre réponse avant de l'envoyer, vous pouvez le faire sinon, vous pouvez simplement envoyer la réponse en est de l'interne à l'appel de l'API. Donc, conclusion , ce que vous dites est valable scénario et cela devrait fonctionner.

OriginalL'auteur msk | 2015-06-24