Dans l'article this, il est argumenté que utilise Memcache si vous récupérez fréquemment des entités aléatoires d'une base de données, et Squid si vous utilisez une architecture REST. S'il vous plaît expliquer pourquoi (en ce qui concerne Squid).Pourquoi le squid est-il bon pour les architectures REST?
Répondre
REST est tout au sujet de http et des ressources. Squid peut être utilisé comme reverse proxy, de sorte qu'il prendra charge à partir du serveur web. le côté serveur peut définir some expires http header pour indiquer le timewindow pour la mise en cache.
Cela dit, la mise en cache est effectuée principalement sur les en-têtes http standard, donc son approche est plus proche de l'architecture des styles de repos que de la mise en cache des requêtes db.
Rest utilise les verbes http pour leurs actions correctes, c'est-à-dire que GET est toujours non destructif. Les URL sont également nommés de manière cohérente. Cela signifie que la mise en cache HTTP dans Squid peut être utilisée pour améliorer les performances sans dépendre de la technologie de programmation sous-jacente (ASP MVC, Rails, CouchDB, etc.)
Memcache est un magasin d'objets distribués - à vous de placer des objets dans et hors de cela. C'est un cache généraliste pour tout usage. Squid est un serveur proxy et un cache web.
Si tout se fait via une URL (par exemple, REST), Squid fera le travail gratuitement. Donc, en résumé, memcache est général, Squid est pour la mise en cache des résultats d'une URL.
Squid (étant un proxy & cache) peut effectivement être utilisé avec les points d'extrémité REST. Dans REST, les ressources sont censées être explicitement transférées avec les en-têtes ETAG/Last-Modified afin de faciliter la mise en cache.
En outre, de nombreuses opérations dans REST sont (supposées) être idempotent (répéter sans autres effets secondaires): c'est une situation parfaite pour Squid. Il peut agir seul sur ces opérations sans gênant le serveur d'applications.
- 1. Architectures d'application iPhone
- 2. Bon guide pour les internes de Linux?
- 3. Quelles architectures utiliser avec le cloud computing
- 4. Comment bloquer toutes les connexions dans squid
- 5. Infrastructure de compilateur GCC pour les architectures VLIW
- 6. Infrastructure du compilateur LLVM pour les architectures VLIW
- 7. Comment construire mach-0 pour différentes architectures?
- 8. Architectures .Net et plugins
- 9. Nouveau certificat sur le proxy inverse Squid
- 10. Aide avec le proxy squid sur VPS
- 11. Pourquoi utiliser ASP.NET MVC 2 pour les services REST? Pourquoi pas WCF?
- 12. squid url_rewrite avec cookie
- 13. Application Architectures de développement
- 14. Pourquoi la sortie gcc d'Apple est-elle mélangée lors de la compilation pour plusieurs architectures?
- 15. Squid se connecte sur mongodb
- 16. Le bon type pour les poignées dans les interfaces C
- 17. Asp.NET MVC est REST mais pourquoi les WebForms Asp.NET ne le sont pas?
- 18. Le proxy Squid ne sert pas le contenu html modifié
- 19. Bon plugins pour les rails
- 20. Comment utiliser vernis/squid avec le site Web IIS/ASP.NET?
- 21. Méthode REST pour gérer les données manquantes
- 22. architectures de COBOL et Java
- 23. Conflit avec squid et ajax
- 24. Comment gérer les exceptions REST?
- 25. Architecture REST - Ressources et méthodes
- 26. Kit REST pour .Net?
- 27. Représentation REST pour xml
- 28. objdump pour l'ancien ARM7TDMI (ARMv4T) montrant des instructions pour les architectures plus récentes?
- 29. Où est le bon endroit pour les entrées mod_rewrite?
- 30. Le bon endroit pour faire les choses en Objective-C