On Thu, 15 Nov 2012 11:55:51 +0100 Michel Blanc mblanc.networks@gmail.com wrote:
Tu peux aussi distribuer au niveau applicatif : nginx par exemple, peut servir de proxy imap et proxyifier vers les bon backend IMAP/POP (http://wiki.nginx.org/ImapProxyExample).
Très bonne solution. nginx en front avec du keepalived et tu scales horizontalement avec du RrB DNS si besoin et tu offload le TLS/SSL sur ce tiers aussi. La scalabitité horizontale du tiers d'après est naturellement assuré par le tiers 1 (ou 0, çà dépend de du choix de la nomenclature que tu choisis pour nommer la répartition logique fonctionnel de chaque tiers).
Ça me parait beaucoup plus simple d'avoir 'n' petits backends cyrus faciles à gérer avec du RAID1, 5 ou 6, et un nginx qui distribue en front. Je vais probablement partir là dessus très bientôt (j'ai un cyrus avec 100k+ boites actuellement).
Ça se discute. Tu fais du shared nothing sur le tiers de stockage et soit du te colles un routage sur nginx un peu velu à gérer pour s'assurer que toto@pipo.tld tombe tjs sur le bon backend. Et tu introduis un SPOF et c'est mal. Tu peux rester dans du shared nothing sans SPOF et sans stockage complexe à gérer mais alors tu assures la synchro simplement des boites entre tes backend avec du LTMP (dovecot fait çà très bien) et un gestion de tes comptes dans un LDAP par exemple. C'est une solution intermédiaire qui me plait moyen pour le stockage. Je préfères partir sur un solution de stockage qui tienne la route en matière de répartition qui travaille du niveau blocs et qui fassent çà proprement sans te faire perdre dupliquer des blocs pour des raisons discutables et les FS distribuées font çà plutôt bien.
++