php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 04.09.2009, 11:11  
Erfahrener Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 180
smilla befindet sich auf einem aufstrebenden Ast
Standard Anwendung für mehrere Server entwickeln

Hi,

meine Anwendungen liefen bisher immer nuf ein einem Server. Quasi ein HTTP und ein MySQL Server.

Nun Frage ich mich wie es ausschaut, wenn man eine Anwendung entwickelt, die auf mehreren Servern läuft.

Ich hätte bisher folgende Vorstellung:

1. Es gibt mehrere MySQL Server, die sich alle permanent abbgleichen. Bekommt MySQL Server 1 neue Daten, kommen diese auch automatisch in MySQL Server 2 und MySQL Server 3. Wenn ein neuer User auf die Seite kommt, würde ich halt schauen welcher MySQL Server die kleinste Auslastung hat und dann diesen immer nehmen.

2. Beim HTTP Server, würde jeder User erstmal auf Domain.de - Domains registrieren und verwalten - Ihre Online-Plattform für Domains und Webhosting kommen. Dann würde ich auch hier die Auslastung messen und den User dann auf www1, www2 und www3 verteilen, sofern eine auch keine Suchmaschine ist.

Demnach müsste die Scripts aber nicht besonders anders programmiert werden. Ich finde leider keine passende Infoquellen im Internet über dieses Thema. Auch ein Buch wäre interessant, gibt es vermutlich auch nicht.

Hat hier jemand Erfahrung oder kennt Quellen?

Smilla
smilla ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.09.2009, 11:23  
Erfahrener Benutzer
 
Registriert seit: 27.06.2009
Beiträge: 498
PHP-Kenntnisse:
Anfänger
cetalian sorgt für eine eindrucksvolle Atmosphärecetalian sorgt für eine eindrucksvolle Atmosphäre
Standard

Ich kann dir dazu nicht allzusehr weiterhelfen aber ich werfe mal ein paar Stichworte in den Raum:
  • Load balancing (wie dein 2. quasi)
  • Content Delivery Networks
  • Aufpassen mit Sessions und Cookies
  • Deine Idee unter 1. klingt nach extrem viel Last wenn du hoch skalierst (stell dir 100 mysql server vor, ein update triggert 100 Querys), dazu vielleicht mal sowas wie memcached ansehen
  • Wenn du deine Application von Beginn an modular hälst dürfte das Umsteigen auf eine andere Datenquelle (z.b. von einem mysql Server auf memcached/3 mysql server und von php Sessions auf eigenes Session Management) problemlos gehen, ja.

Gruß
cetalian ist offline   Mit Zitat antworten
Alt 04.09.2009, 11:25  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Solche Sachen werden meist transparent gegenüber der Software durch tiefere Softwarelayer oder Hardware abgebildet. Wie kommst Du darauf, dass es darüber keine Bücher gibt?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 04.09.2009, 11:28  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 921
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Suchbegriffe für den mySQL Teil wären "MySQL Cluster" oder "MySQL Replication". Meist wird das so gelöst, dass ein fester Server die Schreibzugriffe verarbeitet wärend das Lesen von Datensätzen über einen Cluster läuft. Damit spart man sich diverse Probleme beim synchronisieren mehrerer Server.

Für den HTML / PHP Teil ist das Stichwort wie schon erwähnt wurde "Load Balancing". Funktioniert völlig automatisch durch meist dedizierte Hardware, die vor deiner Server-Farm sitzt.
mquadrat ist offline   Mit Zitat antworten
Alt 04.09.2009, 14:05  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Hat hier jemand Erfahrung
Ja. Lastverteilung kannst du - wie du schon beschrieben hast - per DNS mit gleicher Gewichtung der Subdomains oder per dediziertem Routing (LVS) erledigen. Letzteres mit einem Squid davor ist ein Garant für gute Skalierbarkeit und Performance.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 04.09.2009, 15:12  
Erfahrener Benutzer
 
Registriert seit: 30.07.2008
Beiträge: 1.129
PHP-Kenntnisse:
Fortgeschritten
xm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphärexm22 sorgt für eine eindrucksvolle Atmosphäre
Standard

Subdomains sind vielleicht nicht so gut wegen Cookies (Oder greifen die Beschänkungen nur bei 2nd-Level-Domains?). Sessions kann man ebenfalls auf einem (oder mehreren) DB-Servern verwalten.
xm22 ist offline   Mit Zitat antworten
Alt 08.10.2009, 17:40  
Neuer Benutzer
 
Registriert seit: 29.11.2008
Beiträge: 26
Transistorcrash befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von smilla Beitrag anzeigen
Hi,

2. Beim HTTP Server, würde jeder User erstmal auf Domain.de - Domains registrieren und verwalten - Ihre Online-Plattform für Domains und Webhosting kommen. Dann würde ich auch hier die Auslastung messen und den User dann auf www1, www2 und www3 verteilen, sofern eine auch keine Suchmaschine ist.
Smilla
Die frage ist, wie willst Du die Auslastungen messen?
Wenn du in grössenordnungen von mehreren Webservern planst, kommst du um den Einsatz eines professionellen Loadbalancers nicht herum.
Transistorcrash ist offline   Mit Zitat antworten
Alt 08.10.2009, 20:28  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Wenn du in grössenordnungen von mehreren Webservern planst, kommst du um den Einsatz eines professionellen Loadbalancers nicht herum.
Was verstehst du darunter? Eine BIG IP? Einen LVS-Router?
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 08.10.2009, 20:32  
Erfahrener Benutzer
 
Registriert seit: 09.11.2008
Beiträge: 180
smilla befindet sich auf einem aufstrebenden Ast
Standard

Beim Messen dachte ich an uptime und damit die Server Auslastung auslesen, dies dann z.B. alle 1 min als cron laufen lassen, abspeichern und diese Daten dann verarbeiten (entscheiden welcher Server genutzt wird).
smilla ist offline   Mit Zitat antworten
Alt 08.10.2009, 20:49  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.633
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Dazu sollte man besser Tools verwenden, die das schon können. -> Keepalived for Linux - Linux High Availability
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
exec() auf win 2003 Server geqoo PHP-Fortgeschrittene 9 30.04.2009 21:57
Connection zu MSSQL Server 2008 DonBolli Datenbanken 2 11.04.2009 16:57
[Erledigt] Apache install geht nicht SteiniKeule Server, Hosting und Workstations 7 27.02.2009 08:40
Datei auf ANDEREM Server verschieben SirRobin PHP Tipps 2008 6 16.11.2008 12:18
Wireshark SSL Handshake debugging-Handshake protokoll mittels PHP + Curl brian johnson Off-Topic Diskussionen 0 06.11.2008 11:54
Mysql startet unter Debian nach Update nicht mehr namlit Server, Hosting und Workstations 4 05.08.2008 15:49
[Erledigt] WAMP unter Windows 2000 Server oder Windows 2003 Server Mecronomecon Server, Hosting und Workstations 3 18.06.2008 09:15
[Erledigt] Server durchsuchen mit php PHP Tipps 2008 7 18.08.2007 12:24
Server für shell_exec() / exec() vorbereiten Martek Server, Hosting und Workstations 2 16.03.2007 15:03
streaming von videos, server lahmt bereits nach einem abruf snowflow Server, Hosting und Workstations 6 30.11.2006 18:04
diverse Design-Fragen eines Frameworks mepeisen PHP-Fortgeschrittene 10 26.04.2006 01:57
Frage zu Windows Server 2003 b++ Off-Topic Diskussionen 1 03.03.2006 09:41
[Erledigt] verschiedene Versionen auf einem W2K3 Server betreiben PHP Tipps 2006 2 13.01.2006 17:39
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] Mit PHP Script auf einem Root Server per SSH einlogen PHP Tipps 2005 5 27.03.2005 19:24

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mehrere server, http session mehrere server verteilen, php verschiedene server, php lastverteilung, programm auf zwei server, php anwendung auf mehreren servern, subdomains auf mehrere server verteilen, php anwendung auf meherere server, mehrere server, warum mehrere server, php mehrere server verteilen, php und zwei mysql server, php website mehrere server, server 2/konten/konten.php, php website auf mehrere server, verschiedene mysql server php, anwendung auf mehreren servern, softwareentwicklung php mehrere server, php mehrer server, php auf mehrere server

Alle Zeitangaben in WEZ +1. Es ist jetzt 16:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum