Web aplikacije, web servisi i software Frameworks, web servisi, programi, plugin-ovi, ekstenzije korisni za razvoj web sajtova. Sponzor: |
|
Alati teme | Način prikaza |
|
23. 04. 2011. | #1 |
Ivan Dilber
Sir Write-a-Lot
|
memcached na AWS?
Jel ima neka fora da na Amazonu poteram memcached tako da on bude instaliran na svim EC2 instancama i kad se pokrene nova instanca da se njen memcached server automatski poveze sa ostalima, tj. doda u listu servera koju koriste aplikacije na instancama?
Ono sto je meni palo na pamet ukljucuje neki centralni server sa koga svi ostali uzimaju listu, ali to je naravno losa ideja posto se instance pale i gase, pa je to pogresan pristup za cloud. Pretpostavljam da preko amazonovih alata moze da se iskodira ovako nesto, jer aws naravno zna koje su moje instance, i moze da mi vrati IP-je, ali nisam bas vican ovim ec2 alatima... Ako neko ima takvu startup skriptu ili savet kako da se napise, bio bih vrlo zahvalan za svaku pomoc...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
23. 04. 2011. | #2 |
Python Ambassador
Master
|
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 |
2 članova zahvaljuje Petar Marić za poruku: |
23. 04. 2011. | #3 |
Ivan Dilber
Sir Write-a-Lot
|
aha, znaci get_all_instances() je poziv koji mi treba, kul...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
|
|