2010-05-16 9 views
1

La mise à niveau de memcached vers un cluster de partitions/partitions nécessite un routage distribué/une maintenance de table de partition ou un proxy centralisé (et d'autres tâches telles que la détection d'échecs). Quelles sont les approches/systèmes populaires/typiques ici? Il y a un logiciel comme libketama, qui fournit un hachage cohérent, mais c'est juste une bibliothèque côté client qui réagit aux messages sur les arrivées/départs de nœuds --- la plupart des utilisateurs exécutent quelque chose comme ça, plus des nœuds de surveillance séparés qui détectent les échecs, informer tous les libketamas du départ? J'imagine que quelque chose comme ça pourrait être suffisant puisque l'utilisation typique de memcached comme un cache de soft-state ne nécessite pas une attention particulière à la cohérence, mais je suis curieux de savoir ce que font les gens (en particulier Java, Python et C c'est important).maintenance de cluster memcached

Répondre

1

Vous ne spécifiez pas votre langue/plate-forme, mais si vous êtes en mesure d'utiliser Terracotta, il offre une gestion de cache distribuée exceptionnelle.

+0

Ajout d'une note de bas de page sur la plate-forme. Pourriez-vous élaborer sur ce qui distingue Terracotta (en particulier ses offres open-source)/comment ils se comparent aux approches de gestion de cache typiques pour memcached? – Yang

+0

@Yang: Terracotta permet de nombreuses configurations différentes en fonction de vos besoins d'évolutivité et de disponibilité, mais la version courte fournit un cache distribué qui est toujours garanti (par exemple, si le serveur A réécrit dans le cache, le serveur B aura les données mises à jour, pas une copie périmée). Vous n'avez pas à vous en préoccuper vous-même. L'offre open source offre cette capacité. –