1 votes

Comment se diriger vers le serveur RMI le plus proche ?

Dans le prolongement de ma question Comment améliorer les performances d'une application à architecture client-serveur ?

J'ai décidé de maintenir une base de données centralisée et plusieurs configurations serveur-base de données esclaves. Je prévois d'utiliser DS symétrique pour la réplication entre la base de données esclave et maître. Chaque configuration serveur-base de données serait installée plus près du client. Idéalement, je veux que la requête d'un client soit dirigée vers la base de données esclave la plus proche pour la raison évidente. Comme j'utilise RMI pour me connecter au serveur, je voudrais savoir s'il existe un produit/API actuellement disponible qui permettrait de résoudre ce problème ?

Toute autre solution que la précédente sera appréciée :)

Note : Refactoriser le code client est certainement une alternative, mais comme l'application est très vaste, c'est un risque énorme (peut casser le code existant), long et coûteux.

1voto

alphazero Points 17514

Jetez un coup d'œil au hachage distribué et cohérent :

http://en.wikipedia.org/wiki/Distributed_hash_table#Keyspace_partitioning http://en.wikipedia.org/wiki/Consistent_hashing

En gros, vous configurez une variante de hachage cohérent qui prend l'identifiant du client (au lieu de la "clé") et localise le serveur le plus proche. L'avantage supplémentaire est que si l'un des esclaves tombe en panne, votre infrastructure se dirigera de manière transparente vers le serveur le plus proche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X