Kom ihåg mig?

Load balancing med 2 servrar?

 
Ämnesverktyg Visningsalternativ
Oläst 2008-03-17, 14:37 #11
Björklunds avatar
Björklund Björklund är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 594
Björklund Björklund är inte uppkopplad
Mycket flitig postare
Björklunds avatar
 
Reg.datum: Jul 2006
Inlägg: 594
Citat:
Ursprungligen postat av patrikweb
Citat:
Ursprungligen postat av jonasb76
Patrik, förvilla han nu inte . MySQL Cluster kräver låg latency och snabb lina i klustret.
Det kan du inte sprida ut i olika världsdelar. Du menar kanske MySQL Replication?

Servrarna kan ju stå på olika platser i Sverige, om man har eget nät mellan dom. Blir inte alls så hög latency alla fall.

Dock skulle det säkert även fungera ha server i USA med, sedan kanske det inte är 100% optimalt att då kanske få 0.3s fördröjning av synca data mellan mysql servrar.
Javisst. Vill man inte ha någon prestanda så är det klart det går.
Ingen vettig människa bygger det så. Testa så får du se.

Synca? Har du kört ett MySQL-kluster någon gång?
Björklund är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-17, 14:46 #12
patrikweb patrikweb är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2004
Inlägg: 6 096
patrikweb patrikweb är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2004
Inlägg: 6 096
Gissar du menar NDB när du snackar Mysql Cluster, dock så har ju latency inte något göra med kapacitet mellan noder.

Sedan att det inte blir helt optimalt med olika latency om du har många noder är en annan sak, men beror ju sedan på hur du väljer att lastbalansera anslutningarna mot dom olika mysql servrarna.
patrikweb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-17, 14:50 #13
Björklunds avatar
Björklund Björklund är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 594
Björklund Björklund är inte uppkopplad
Mycket flitig postare
Björklunds avatar
 
Reg.datum: Jul 2006
Inlägg: 594
Jag tolkar ickesvaret som att du inte kört MySQL Cluster och inte har någon erfarenhet av det.
Björklund är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-17, 15:10 #14
patrikweb patrikweb är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2004
Inlägg: 6 096
patrikweb patrikweb är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Nov 2004
Inlägg: 6 096
Tror mer att du aldrig haft möjlighet köra det i ett riktigt nät. Handlar inte om att man ska köra dom olika noderna på en bredbandslina eller något sådant.

En viss latency är det minsta problemet, att det skulle vara helt idiotisk att köra mysql cluster mellan flera länder som exempelvis Sverige - USA är sant även om det säkerligen skulle fungerat men en viss seghet.

Men mellan Stockholm eller Malmö skulle inte varit något problem med latency.

Viktigaste är att datan kommer fram utan avbrott och rätt kapacitet.
patrikweb är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-17, 18:09 #15
XWisdom XWisdom är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2004
Inlägg: 14
XWisdom XWisdom är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2004
Inlägg: 14
Men jag vill hellre veta hur man bygger ett kluster i sitt "hemmabygge" med bara 2 datorer, inte hos någon leverantör. Om det kräver en extra dator för själva lastbalanseringen kan jag acceptera. Datorerna kan ju då sitta i ett Gigabitnätverk, så någon latencyproblem bör det inte vara där.
XWisdom är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-17, 18:24 #16
Björklunds avatar
Björklund Björklund är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 594
Björklund Björklund är inte uppkopplad
Mycket flitig postare
Björklunds avatar
 
Reg.datum: Jul 2006
Inlägg: 594
Är det bara Apache och MySQL är rekommender jag som sagt MySQL-replikering.
http://dev.mysql.com/doc/en/Replication_HOWTO.html

Och sedan kör du rsync mellan dina Apache kataloger på varje server.

Om du har ungefär 50% reads och 50% writes så kör writes till "mastern" och alla "reads" till slaven. Har du lite "writes" så kör även "reads" på mastern.

Om mastern dör så gör om slaven till master.

Lastbalansera med DNS.
Om du vill ha en egen lastbalanserare istället så kolla på www.linuxvirtualserver.org.
Eller något som jag tycker är spännande CLUSTERIP. Clusterip ingår i iptables. Den gör så att du inte behöver någon extra hårdvara för lastdelning. Den delar MAC-address mellan två eller fler servrar.
Får några år sen la jag lite tid på det men misslyckades. Jag vill försöka igen när tid finns, säkert lite bättre nu. http://www.linux-ha.org/ClusterIP
Björklund är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-17, 19:54 #17
XWisdom XWisdom är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2004
Inlägg: 14
XWisdom XWisdom är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2004
Inlägg: 14
Tack för svaret, nu har jag lite mer kött på benen...

Men hur funkar det att sätta reads och writes till master och slave? Kommer MySQL-servern på mastern att kunna känna av själv och vidarebefodrar alla reads till slave? Hur funkar det då med Apache-servern på slave-maskinen, antar att man då enbart koppla mot till Masterns IP i PHP-skripten?

Denna lösning har jag ju också tänkt på innan då, fast jag är fortfarande osäkert på hur man kan lastbalansera Apache-servrarna, är det Round Robin fortfarande då?
XWisdom är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-17, 21:12 #18
Björklunds avatar
Björklund Björklund är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 594
Björklund Björklund är inte uppkopplad
Mycket flitig postare
Björklunds avatar
 
Reg.datum: Jul 2006
Inlägg: 594
Precis. Du sätter IP (eller hostnamn) för alla writes i dina PHP-skript och även read.
Om du vill skicka 75% av read till en av servarna så gör du en egen slumpgenerator där då 75% av trafiken går till en av servarna.
Jag hade skapat två funktioner. db_read_open() och db_write_open().

Round Robin är igentligen bara ett begrepp. Det finns i alla lastbalanserade och i DNS.
Börja med DNS. Det sätter du upp 1 minut.
Fungerar inte det bra för dig så får du gå på något mer avancerat.
Björklund är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-18, 08:18 #19
XWisdom XWisdom är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2004
Inlägg: 14
XWisdom XWisdom är inte uppkopplad
Nykomling
 
Reg.datum: Oct 2004
Inlägg: 14
När du säger DNS, menar du då på mjukvara- eller hårdvaranivå? Och hur funkar lastbalanseringen med DNS?
XWisdom är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-03-18, 11:10 #20
Björklunds avatar
Björklund Björklund är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Jul 2006
Inlägg: 594
Björklund Björklund är inte uppkopplad
Mycket flitig postare
Björklunds avatar
 
Reg.datum: Jul 2006
Inlägg: 594
Citat:
Originally posted by XWisdom@Mar 18 2008, 09:18
När du säger DNS, menar du då på mjukvara- eller hårdvaranivå? Och hur funkar lastbalanseringen med DNS?
Mjukvara.

Man kan antingen lägga in två statistka DNS-entrys

www.domänen.se. IN A 192.168.0.1
www.domänen.se. IN A 192.168.0.2

I teorin skall varje IP-address få hälften av lasten.
Men enligt egen erfarenhet så kommer 1:an få mer last då de flesta köra Windows när de surfar.
Windows hanterar det där lite konstigt.

Man kan då göra ett skript som automatiskt uppdaterar DNS:n några gåner per timma med låg TTL och får därmed en jämnare last.

Kör du "riktigt" lastbalanserare i mellan så är det lättare att dela lasten jämnt. Men det är dyrare och det blir en extra SPOF (singel point of failure). Om inte ekonomin spelar någon roll så kör på dubbla redundanta lastdelare. :P
Björklund är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 
Ämnesverktyg
Visningsalternativ

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 19:09.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017