Pogledajte određenu poruku
Staro 23. 04. 2011.   #2
Petar Marić
Python Ambassador
Master
 
Avatar Petar Marić
 
Datum učlanjenja: 06.06.2005
Lokacija: Novi Sad
Poruke: 602
Hvala: 28
27 "Hvala" u 17 poruka
Petar Marić će postati "faca" uskoro
Pošaljite ICQ poruku za Petar Marić
Default

Važno: Koje hashing i distribucione algoritme koristi tvoj memcached klijent? Ako je u pitanju jednostavno distribuiranje hashovanog kljuca po modulu (hash % number_of_servers) pribavi bolji memcached klijent inače ćeš načiniti nevidljivim svoj celokupni keš svaki put kad dodaš ili ukloniš memcached server (been there, done that).

Tvoja ideja sa centralizovanim serverom nije loša, ali šta misliš o sledećem:
Svakih X minuta svaka EC2 instanca pita AWS API ko su joj braća i na osnovu toga (po potrebi) osvežava svoju listu memcached servera. Time delegiraš odgovornost vođenja centralnog registra svih instanci AWS-u, dok EC2 instance postaju odgovorne za sopstvenu konfiguraciju.

Primer odgovrajućeg API poziva putem boto-a iz sećanja (ne koristim više AWS):
Kôd:
# Nagovorite Bluesmana da doda [python] tag
from boto.ec2.connection import EC2Connection
conn = EC2Connection('<aws access key>', '<aws secret key>')
memcached_servers = [x.private_dns_name for x in conn.get_all_instances(filters={'instance-state-name': 'running'})]
__________________
Python Ambassador of Serbia
Petar Marić je offline   Odgovorite uz citat
2 članova zahvaljuje Petar Marić za poruku: