J'essaie de trouver comment implémenter la mise en cache distribuée pour les applications. Ehcache déjà utilisé pour la mise en cache dans mon projet, c'est pourquoi je cherche comment résoudre ce problème en l'utilisant. Mais, malheureusement, il semble que Terracotta Enterprise Suite est nécessaire pour cela et il est commercial. N'est-ce pas? Existe-t-il une autre solution pour utiliser Ehcache pour la mise en cache distribuée (RMI ou autre)?Est-il possible d'implémenter la mise en cache distribuée en utilisant Ehcache sans Terracotta Enterprise Suite?
Répondre
Vous n'avez pas besoin de la suite d'entreprise Terracotta pour regrouper vos instances Ehcache. Vous pouvez donc utiliser en cluster avec Ehcache & terre cuite aujourd'hui, avec pur OSS:
http://www.ehcache.org/documentation/configuration/distributed-cache-configuration
Edit: Ce lien a expiré. Ci-dessous le nouveau lien en rapport avec cache en cluster http://www.ehcache.org/documentation/3.4/clustered-cache.html
Maintenant, si vous avez besoin de réplication, vous pouvez utiliser d'autres mécanismes comme RMI en effet:
http://www.ehcache.org/documentation/replication/index
Bien que, seul le regroupement en terre cuite vous apporterait HA et caractéristiques comme les garanties de cohérence et similaires ...
il existe différentes façons de mettre en œuvre cache distribué en utilisant le mécanisme de ehcache. On peut utiliser RMI ou Jgroups.
Dans l'un des projets, j'ai vécu la même situation et après quelques recherches, j'ai compris que l'utilisation du serveur Redis pour la gestion du cache est une solution simple et efficace. Je suggère cela comme une réponse parce que si vous essayez d'utiliser ehcache cela prendra du temps et augmentera la complexité et vous pouvez avoir plusieurs gestionnaires de cache dans votre espace de travail.
- 1. Mise en cache NoSQL ou Ehcache?
- 2. Mise en cache Solr avec EHCache/BigMemory
- 3. EHCache avec Terracotta Vs Infinispan
- 4. Terracotta avec Hibernate et EHCache
- 5. Aide à la mise en cache distribuée
- 6. Comparaison de memcache, redis et ehcache en tant que structure de mise en cache distribuée
- 7. Comment configurer la mise en cache distribuée dans Grails (sans Terracota)
- 8. Mise en cache de java.util.Map avec ehcache
- 9. Mise en cache distribuée sur mono
- 10. ehcache + mise en veille prolongée
- 11. Applications Open Source utilisant des solutions de mise en cache distribuée
- 12. Ehcache cache éternel oublier articles
- 13. Hibernate + Ehcache mise à jour brise la suite de tests
- 14. Cache cache (ehCache)
- 15. utilisant décorateur bloquant ehcache avec mise en veille prolongée
- 16. Enterprise Library mise en cache 3,1 à 5,0
- 17. Comment effacer tout le cache Hibernate (ehcache) en utilisant Spring?
- 18. Performance de mise en veille prolongée Deuxième niveau ehcache Mise en cache
- 19. balises Cache avec Ehcache
- 20. mise en veille prolongée et la réplication ehcache
- 21. EHCache: Récupère la valeur du cache en jsp page
- 22. Rails 3 environnement de développement conserve la mise en cache, même sans mise en cache?
- 23. Configuration de la file d'attente durable en Terracotta
- 24. Magento Enterprise - Invalid Cache
- 25. DistributedMap comme cache groupé avec Terracotta
- 26. Cache invalidation dans Ehcache
- 27. Mise en mémoire cache AWS Elastic Beanstalk?
- 28. cache ehcache "flux" de données
- 29. Mise en cache et conversion pendant la mise en cache
- 30. Mise en cache des retours sans affichage
J'ai essayé d'utiliser Ehcache avec Terracotta OSS, mais j'ai échoué :( J'ai deux nœuds sur des serveurs séparés (A, B) .Chaque nœud a son propre ehcache.xml (CM) .Chaque CM contient et avoir un cache, nommé TestCache, avec à l'intérieur. Ok, l'application 'A' met l'objet dans le cache Maintenant, si 'A' sera à nouveau demandé - il retournera l'élément en cache avec succès, mais 'B' manquera Comme je le vois dans dev-console - Terracotta comprendre qu'il est commun Cache Manager et le cache est également commun pour les deux applications (parce qu'il montre hits et misses) Dois-je partager des caches manuellement? –
Gadget
Je veux dire, dois-je définir des configurations supplémentaires pour tc-config.xml ou à ehcache.xml? Dans tous les exemples, élément 'root' utilisé pour le "partage" des gestionnaires de cache. Mais je n'ai aucun champ cacheManager dans le code. Tout est décrit uniquement dans ehcache.xml. De plus, il existe un paramètre 'instrumented-classes' dans tc-config.xml. Dois-je répertorier toutes les classes d'objets mis en cache manuellement? Cela semble étrange si c'est le cas, car j'espère que ehcache.xml devrait suffire. – Gadget
L'ajout d'un élément TerracottaConfig dans le fichier ehcache, pointant vers le serveur Terracotta, et l'ajout d'un élément Terracotta à chaque cache que vous voulez mettre en cluster devraient suffire pour vous aider à démarrer.Etes-vous sûr que le bon fichier xml est récupéré? –