On Mon, 2001-12-17 at 11:18, Mihai RUSU wrote:
> 
> sute de mii de conturi nu sute de mii de mesaje intr-un cont (cam

Da, despre asta vorbeam si eu. De fapt, aveam in minte cazurile
intr-adevar extreme (de genul Hotmail, Yahoo, Pacific Bell DSL, AT&T
@Home, AOL...), cind s-ar putea sa ai nevoie si de imprastiere
geografica.

NFS imprastiat in teritoriu suge puternic. ;-)

> iar stocarea conturile cu vpopmail se face hashing automat cand depaseste
> un anumit numar de maildir-uri (iti face un director 0 si apoi 1 si tot
> asa)

Pai ma refeream la situatiile cind incarcarea depaseste posibilitatile
fizice ale unei singure masini, si _trebuie_ sa imprastii sarcina pe mai
multe servere. In general oamenii fac asta cu NFS; ceea ce voiam sa zic
este ca nici solutia asta nu te duce prea departe.

> daca chiar ma supar fac delivery printr-un script perl care face cd in
> maildir-ul userului care il ia dintr-un mysql si deci acolo pot face
> aseazarea conturilor cum vrea muschiul meu (asa a facut Tim pe un server
> si mere de rupe, pe aceasta cale tin sa-l felicit pentru igeniozitate)

Hmmm... Cred ca simpla mutare a mesajelor de colo-colo nu prea rezolva
problema (ma rog, o rezolva, dar trebuie vazut pina la ce limita).
Solutia, asa cum am vazut-o mai demult pe o lista de discutii dedicata
subiectului (site-uri cu numar enorm de conturi de e-mail) este sa
distribui inca de la inceput mesajele pe mai multe masini.
Exemplu fictiv: conturile de la A la D pe masina 1, de la E la H pe
masina 2, s.a.m.d. Treaba asta trebuie s-o faca direct clusterul de
"inbound gateways". Trebuie sa faci cumva distribuirea asta, dupa un
criteriu oarecare (cel alfabetic e primul care mi-a venit in minte, nu
sustin ca e cel mai bun, dar s-ar putea sa mearga totusi; ar mai
interveni aici localizarea fizica daca e cazul, etc.).
Apoi, cind userul acceseaza inboxul, interfata care face accesarea (un
webmail, sau un POP3 proxy, etc.) trebuie sa cunoasca metoda dupa care
s-a facut distribuirea.
Nu e foarte simplu, si e in mod clar ne-standard. Dar solutiile standard
au si ele o limita de scalabilitate. Am nerusinarea sa sustin, totusi,
ca ar merge facut cu solutii standard (MTA-uri clasice, etc.) doar
_usor_ modificate.
Daca trebuie sa scrii undeva localizarea fiecarui cont in parte, ai cam
b***t-o, ca asta inseamna SQL. Ideal ar fi sa gasesti niste criterii
generale (cum ar fi intervalele alfabetice) ca sa poti hard-coda cumva
distribuirea.

Dar deja se abereaza puternic pe thread-ul asta... :o)

-- 
Florin Andrei

"Engineering does not require science." - Linus Torvalds

---
Send e-mail to '[EMAIL PROTECTED]' with 'unsubscribe rlug' to 
unsubscribe from this list.

Raspunde prin e-mail lui