50 requêtes à une ressource externe par requête est probablement un mauvais endroit pour être, et probablement pas nécessaire du tout.
La météo ne change pas si vite, et vous pouvez probablement en profiter énormément en mettant en cache les résultats pendant un certain temps. Ensuite, peu importe le nombre de demandes que vous recevez, vous n'avez pas besoin de faire plus que quelques requêtes par jour.
Si ce n'est pas votre cas, vous pourriez être en mesure d'amener le client à faire le travail pour toi. Refactorisez le code de sorte que l'agrégation d'api météo se passe sur le client en javascript, plutôt que de l'acheminer à travers le serveur. Editer: en fonction des commentaires que vous avez publiés, ce que vous demandez ne peut probablement pas être optimisé dans les contraintes de l'API que vous utilisez. Le problème est que le service fait un bon travail d'abstraction des différences dans les nombreuses sources d'informations météorologiques qu'ils regroupent dans une requête de localisation la plus proche. après tout, les stations météorologiques ne fournissent que des données ponctuelles.
Si vous parlez directement aux personnes de support technique qui fournissent l'API, vous pouvez constater qu'elles acceptent de prendre en charge des requêtes plus complexes (boîte englobante), pour lesquelles elles vous donneront des instructions. Plus probablement, cependant, ils abstraits parce qu'ils ne veulent pas révéler la résolution que leur API fournit réellement, ou parce qu'il y a une raison technique dans la façon dont ils modélisent leurs données ou effectuent leurs calculs qui feraient de telles requêtes trop difficile à supporter.
Sans cela ou la mise en cache, vous n'avez tout simplement pas de chance.
Pouvez-vous précacher les données au lieu de le faire au moment de la demande? –
Il se peut que les données de n'importe quel point de la Terre doivent être interrogées en fonction de l'utilisateur. Je dois mettre en cache les données météo du monde entier et c'est beaucoup trop. De plus, il change toutes les heures. – refik