6
votes

Java Ha Cadre

J'écris une petite application proxy qui devrait être redondante, par ex. Le proxy principal sera exécuté sur un serveur et le redondant exécutera sur un serveur séparé. Existe-t-il un simple cadre de haute disponibilité que je peux utiliser pour mettre en œuvre cette redondance? Par exemple, ce framework haverrait des pings entre les instances et soulever une sorte d'exception ou de notification sur l'autre instance lorsque le premier tombe en panne.


0 commentaires

4 Réponses :


-2
votes

hadoop est un bon endroit pour commencer


1 commentaires

Sérieusement? Hadoop est un cadre de calcul distribué. Pourquoi utiliseriez-vous un cadre de carte de carte pour cela?



0
votes

Si vous voulez ha sans tracas, utilisez simplement un équilibreur de charge avec une capacité HA E.G. UltramonKey , LVS avec Keepalived etc.

Dans une configuration HA, vous souhaitez généralement utiliser la propriété intellectuelle virtuelle, alors même si vous auriez cette fonctionnalité de ping / notify comme cadre, vous aurez toujours des choses à faire (commencez à répondre aux demandes à la virtuelle. IP une fois que l'autre instance a échoué). Donc, à moins que vous recherchiez une occasion d'apprentissage, je conseillerais d'utiliser un middleware au lieu de le coder vous-même à l'aide de frameworks.

Il existe un nombre de contrôles de santé que vous pouvez configurer pour ces milieux de la colline. Un simple HealthCheck pourrait par exemple, tirer une demande d'obtention de votre application. périodiquement et recherchez une chaîne spécifique (par exemple «XXX en cours d'exécution») dans la réponse à votre application. est bien courir.


0 commentaires

0
votes

Vous ne fournissez pas beaucoup de détails sur le travail que votre application ne le fait, alors en fonction de la taille de l'état indiquée, qu'elle puisse tolérer de la base de données mineure, est-elle essentielle, faites-vous une valeur temporelle du développeur sur le temps de la machine, vous pouvez avoir un spectre varié de solutions.

Il y a de bonnes suggestions ci-dessus, j'ajouterais: jetez un coup d'œil à JMS et à la messagerie persistante. Habituellement, ceux-ci font de la récupération assez trivial, mais au coût du succès de la latence (à moins que vous n'ayez pas besoin de produit commercial et de l'apprendre bien ou payez le fournisseur pour accorder votre demande). Avec les files d'attente JMS, vous pouvez implémenter un traitement actif actif et vous épargner le mal de tête de détection de défaillance.

Une autre direction à regarder est distribuée de la gestion de la gestion / de clustering de l'État, telles que Gigaspaces, cohérence, pierres précieuses, Infinispan, Gridgain et Teracotta. Ceux-ci peuvent reproduire vos données et garantir des niveaux de qualité des services variés. La plupart d'entre eux viennent avec un certain type de détection de défaillance et de mécanisme de gestion distribué.


0 commentaires

2
votes

Construire un tel système a été mon travail de routine ces dernières années. J'ai trouvé Jgroups Un outil très utilisable pour recevoir et gérer un tel type d'événements de regroupement. C'est le cas si vous voulez construire votre propre infrastructure HA. Je ne sais pas, mais peut-être dans votre cas juste un simple proxy inverse telle que Haproxy peut suffire.


0 commentaires