3912Fermer3914
robinHoodLe 10/03/2013 à 04:12
je ne connais pas grand chose à la prog système avec de multiples process et thread mais je peut vous donner un exemple ou fork est indispensable, redis

cette base met tout en ram, elle peut prendre 10 giga sans soucis

pour assurer la persistance celle ci se dumpe intégralement (ou non, mais prenons le cas intégral ici) sur le disque

cette opération peu prendre du temps, mais le but de redis est d'être rapide, très rapide, donc la base doit être dispo (et pas en lecture seule) durant le dump

bref, elle doit avoir un shoot propre à dumper, qui ne va pas non plus se modifier durant ce dump, et on ne va pas dupliquer 10GB de ram, bref redis forke, le process forké fait son dump pendant que l'original lui continu à servir les clients et modifier si il le faut sa version

une explication ici http://redis.io/topics/faq

alors soit on laisse linux faire sa magie, le code de redis restant simple et efficace, soit on modifie redis en profondeur pour qu'il puisse à la fois dumper et servir en même temps, c'est ce qu'on fait des gars de chez microsoft