Avatar billede moddi100 Seniormester
21. november 2014 - 00:44 Der er 6 kommentarer og
1 løsning

Redundans og loadbalancing på dynamisk hjemmeside

Hej,

Vi har i virksomheden en hjemmeside, der er essentiel for at vi kan arbejde i løbet af dagen. Går siden ned, kan vi i princippet ikke lave det store.

Alle de enkelte sider på hjemmesiden er dynamiske og er typisk forskellige lister, der konstant ændres. Altså ingen statisk indhold.

Hjemmesiden ligger lige nu på et almindeligt online webhotel.

Hvordan laver jeg en løsning, så jeg er sikret mod nedbrud hos webhotellet, men så data samtidig er synkroniseret? Loadbalancing kunne også være rigtig interessant, men er i første omgang ikke et must.

Min umiddelbare tanke var at købe et ekstra webhotel hos en anden udbyder og så spejle installationen. Et cronjob kunne så stå for løbende at kopiere data fra hovedserveren til backup-serveren. Jeg tænker dog der må være en smartere løsning?

Samtidig har jeg også lidt volumen i tankerne. På længere sigt snakker vi en god portion samtidige brugere, 500-1000 er ikke urealistisk indenfor et års tid. så hvordan fordeler jeg arbejdsbyrden, så det ikke kun er en server, der håndtere alt?
Avatar billede Mik2000 Professor
21. november 2014 - 01:01 #1
Hej

For det første, så skal du købe et ordenligt erhvervswebhotel - pris og kvalitet hænger ofte sammen.
Du kan også overveje at leje en dedikeret server i et datacenter eller en delt server.

Den dedikerede server giver dig alle muligheder, men koster samtidige også meget, hvis du skal have fuld service mv. med til den, og skal have nogle til at sætee den op efter dine ønsker.
Her har man til gengæld stort set aldrig nedetid, og man kan have service der gør, at skulle det ske så er man oppe inden for 0,5 time (typisk hurtigere). Det er dog en dyr løsning hvis det skal være ordenligt - typisk fra 5000 om måneden

Du kan også sagens spejle indholdet som du skriver. Der findes CDN hvor det spredes over flere servere for at sikre indholdet altid er tilgængeligt. Det kan købes hos flere udbydere.
F.eks. hos 100tb som jeg dog ikke har erfaring med:
https://www.100tb.com/cdn/
Her kan også købes servere mv. ligesom der findes et hav at steder både i DK, Tyskland, Holland og England.

Du kan også lave egen løsning, hvor der er en kopi - men bliver rodet når/hvis den skal opdateres.
Avatar billede moddi100 Seniormester
21. november 2014 - 01:22 #2
Jeg har selv leget med tanken om en dedikeret server - men igen er mit problem at det er single-point-of-failure. Jeg så gerne at der var to eller flere servere fysisk adskilt, så der altid er en backup kørende.

CDN er vel ikke egnet til en sådan situation her, hvor der kan skrives/redigeres af alle - og altså er tale om en ret så dynamisk hjemmeside?
Avatar billede arne_v Ekspert
21. november 2014 - 02:03 #3
1 web server --- 1 database server

med redundans:

1 aktiv web server --- 1 database server (master)
                                  |
                              replication
                                  |
1 passiv web server --- 1 database server (slave)

med mere power:

loadbalancer --- N aktive web servere --- 1 stor database server (master)
                                                    |
                                              replication
                                                    |
loadbalancer --- N passive web servere --- 1 stor database server (slave)
Avatar billede moddi100 Seniormester
23. november 2014 - 12:57 #4
arne_v det lyder mere som en opbygning jeg kan bruge - den første med redundans vil nok være nok, men hvordan ville du rent praktisk opsætte det?
Avatar billede arne_v Ekspert
23. november 2014 - 13:34 #5
Replication er en standard feature i MySQL.

Du skal naturligvis have adgang til at saette den slags op => fuld kontrol => egen instans.

Saa skal du have sat failover op. Slave MySQL skal blive ny master. Det er der ogsaa kendte loesninger paa. Du skal have trafikken flyttet over til de andre web servere. Det kan du f.eks. goeere ved at aendre DNS.
Avatar billede moddi100 Seniormester
23. november 2014 - 21:10 #6
Havde slet ikke overvejet at det kunne være bygget ind i MySQL - lækkert!

Det må umiddelbart blive løsningen at opsætte en Master - Slave forhold. Med manuelt skift antager jeg, at nedetiden vil kunne blive relativt lille.

Angående webserveren er det heldigvis relativt nemt at ændre DNS, og da alt ligger i databasen er det jo i princippet ligegyldigt hvilken webserver forespørgselen til databasen kommer fra.

Jeg takker for vejledningen, lig et svar arne_v
Avatar billede arne_v Ekspert
27. november 2014 - 01:49 #7
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester