27-10-2011, 08:17 AM
(Modification du message : 27-10-2011, 08:29 AM par Sephi-Chan.)
Si, ça peut être un changement conséquent. Mais pour être honnête, c'est un problème de grande personne. Il faut commencer à avoir une application qui tourne vraiment très bien (des milliers de joueurs en même temps) pour y faire face. Pour perturber un ordinateur capable de faire des opérations si rapidement, il faut vraiment beaucoup d'accès en un instant.
Il faut peser le pour et le contre : mettre en place du queueing implique déjà l'utilisation d'un dédié et les coûts qui vont avec.
Sans, on ne risque pas grand chose mais on peut garder notre application plus simple.
Bien sûr que si le développeur est familier avec ça, utiliser le queueing/scheduling est toujours intéressant. Cf. mon article L'asynchrone, pourquoi et comment ?. Mais il faut se donner les moyens de ce qu'on veut.
Je prends mon jeu Conquest on Rails, par exemple. Voilà les processus dont il a besoin pour fonctionner : Redis, Resque et Resque Scheduler sont dédiés au queueing. Et malgré que je n'ai qu'un type de queue pour le moment (celle pour démarrer les parties qui ont atteint le nombre de joueurs requis), c'est déjà très intéressant dans la mesure où l'opération de démarrage d'une partie fait une centaine d'update dans la base de données.
Il faut peser le pour et le contre : mettre en place du queueing implique déjà l'utilisation d'un dédié et les coûts qui vont avec.
Sans, on ne risque pas grand chose mais on peut garder notre application plus simple.
Bien sûr que si le développeur est familier avec ça, utiliser le queueing/scheduling est toujours intéressant. Cf. mon article L'asynchrone, pourquoi et comment ?. Mais il faut se donner les moyens de ce qu'on veut.
Je prends mon jeu Conquest on Rails, par exemple. Voilà les processus dont il a besoin pour fonctionner : Redis, Resque et Resque Scheduler sont dédiés au queueing. Et malgré que je n'ai qu'un type de queue pour le moment (celle pour démarrer les parties qui ont atteint le nombre de joueurs requis), c'est déjà très intéressant dans la mesure où l'opération de démarrage d'une partie fait une centaine d'update dans la base de données.