Non, je n'essaie pas de voir combien de mots à la fois je peux jeter dans un seul titre de question.AJAX interrogeant longtemps une API REST/Memcached dans une application PHP
Je fais des demandes REST via cURL dans mon application PHP pour certains services web. Ces demandes doivent être faites assez souvent car une grande partie de l'application dépend de cette API. Cependant, il y a une latence sévère avec les requêtes (2 à 5 secondes), ce qui rend mon application terriblement lente. Alors que je suis à mi-chemin d'une solution avec une recommandation pour mettre en cache ces demandes dans Memcached, je ne suis toujours pas satisfait de ce type de latence qui apparaît dans l'application. Donc, voici ma pensée: je peux mettre en œuvre AJAX à long terme en arrière-plan de sorte que l'utilisateur ne connaît jamais la latence pure et simple. Les requêtes REST/Memcache seront effectuées tout au long d'AJAX à un intervalle donné.
Mais tout cela est vraiment nouveau pour moi et je ne suis pas sûr que ce soit la meilleure approche. Et si je suis sur la bonne voie, je sais que PHP + Apache ne va pas gérer quelque chose comme ça. Mais PHP est la seule langue que je connaisse. J'aimerai idéalement mettre en place quelque chose comme Tornado en Python, mais je ne suis pas sûr de savoir si je suis en train de faire de l'ingénierie en ce moment ou pas. Toutes les pensées ici seraient utiles et très appréciées.
Quelle est la distance entre les requêtes REST et vos services Web? Un autre mot, la latence est causée par le réseau ou simplement les demandes de repos tout simplement lent. Avez-vous considéré le réchauffement du cache pour les demandes REST? – ajreal
@ajreal, Qu'est-ce que l'échauffement du cache? –
Le préchauffage consiste à pré-charger un ensemble de données afin que le memcache soit rempli avec des données valides à partir de REST. C'est-à-dire, au lieu de laisser votre application déterminer l'URL REST, vous pouvez exécuter un travail en arrière-plan pour récupérer ces URL REST. Vous pouvez utiliser une base de données ou un fichier pour suivre l'URL REST que vous avez exécutée dans votre application. – ajreal