AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein 3 Client 3 Server oder 1 Client 1 Server und Dienste
Thema durchsuchen
Ansicht
Themen-Optionen

3 Client 3 Server oder 1 Client 1 Server und Dienste

Ein Thema von Jackie1983 · begonnen am 11. Jul 2009 · letzter Beitrag vom 13. Jul 2009
Antwort Antwort
Seite 1 von 3  1 23      
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#1

3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 08:55
Servus,

wie würdet ihr das machen?
Bin dabei für uns eine Client Server Anwendung zu programmieren.
Wir brauchen mehrere Aufgaben das heist ich möchte die von den anderen Aufgaben auseinanderhalten.

Methode 1
Delphi-Quellcode:
ClientComputer Servercomputer
   Client1 <-> Server1
   Client2 <-> Server2
   Client3 <-> Server3
Dabei gibt es vorteile sowie nachteile. Vorteil die last wird verteilt da 3 Server. Nachteil es müssen 3 Verbindungen bestehen.

Methode 2
Delphi-Quellcode:
 Dienst ClientComputer Servercomputer
Aufgabe1 <-> Client1 <-> Server1
Aufgabe2 <->
Aufgabe3 <->
Ich sende dann einen Befehl an den Client dieser schaut nach an welchen Dienst diese gerichtet ist und leitet den Befehl weiter an den Dienst, wenn der Dienst was zu senden hat, sendet er den Befehl an den Client und dieser wieder an den Server.
Vorteil es läuft nur ein Client und ein Server. Nachteil wenn der Client abschmiert war es das und ich kann gar nichts mehr machen. Hat auch den vorteil wenn ich ein update aufspiele brauche ich nur den einen Dienst zu erneuern und nicht den ganzen client anhalten.

Was meint ihr?

Mfg
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.343 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 09:14
Wenn die Ausfallsicherheit sehr wichtig ist, dann könnte man auch einfach zwei Clients parallel benutzen, die beide alle Aufgaben durchführen können. Und auf Serverseite gilt das selbe. Ist der eine Server nicht erreichbar, wird ein parallel laufender als Fallback benutzt. Die Clients bräuchten dann nur eine Liste der möglichen Server.

Die Anzahl der Clientcomputer hängt doch eigentlich davon ab, ob man mehrere braucht oder nicht. Aber wegen Client, was ich nicht so ganz verstehe:
Bei deiner Methode 2 sendest du an einen Clientcomputer, aber von wo? Auf weiteren Clientcomputern? Das heißt die hier genannten Clients wären eigentlich auch Server?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#3

Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 09:20
Zitat von jaenicke:
Bei deiner Methode 2 sendest du an einen Clientcomputer, aber von wo? Auf weiteren Clientcomputern? Das heißt die hier genannten Clients wären eigentlich auch Server?
Sorry das hätte ich noch was deutlicher beschreiben sollen.
Im grunde läuft es so ab

Delphi-Quellcode:
ClientComputer ServerComputer Manager
   Client <-> Server1
                            Server2 <-> Client
Möchte der Manager einen Befehl zum Client senden, sendet er den Befehl an den Server2. Server2 gibt den Befehl weiter an Server1 und dieser schaut nach welcher Client gemeint ist und sendet den Befehl zum Clientcomputer.
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#4

Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 09:30
Zitat von jaenicke:
Die Anzahl der Clientcomputer hängt doch eigentlich davon ab, ob man mehrere braucht oder nicht.
Das ist es ja gerade. Erstellt man 3 Clients, dann laufen aber auf einem Computer 3 TClientSockets.
Und deswegen wollte ich mal hören wir ihr das findet wenn man nur einen TClientSockets erstellt.
Braucht man mehrer Aufgaben kann auf dem Computer noch ein Dienst installiert werden un der Dienst tauscht die Daten mit der Clientsocket aus und diese sendet die Daten zum server...
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.343 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 09:47
Ah, jetzt habe ich verstanden was du meinst.

Ein großer Vorteil einer einzigen Verbindung wäre, dass sich dieser eine Dienst auch darum kümmern kann, wenn der Server ausfällt. Das heißt es könnte zentral für alle Dienste ein Backupserver gesucht und dazu eine Verbindung hergestellt werden.
Ein Nachteil ist allerdings die zusätzliche Interprozesskommunikation auf dem Client. Dazu kommt, dass alles von dem einen zentralen Dienst abhängt. Fällt der aus irgendeinem Grund aus, geht gar nichts mehr auf dem Client.

Deshalb wäre meine Meinung, dass mehrere separate Dienste mit eigenen Verbindungen ausfallsicherer und robuster (nicht von IPC und einem anderen Dienst abhängig) zu programmieren wären. Die Logik der Verbindung kann man ja kapseln, insofern sollte auch der Aufwand bei der Entwicklung nicht viel höher sein bzw. im Vergleich mit der IPC eher niedriger.

Wobei ich dazu sagen muss, dass ich mit der Entwicklung verteilter Systeme keine große Erfahrung habe, vermutlich gibt es also auch noch andere Faktoren, an die ich jetzt gar nicht denke.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#6

Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 10:01
Zitat von jaenicke:
Ein großer Vorteil einer einzigen Verbindung wäre, dass sich dieser eine Dienst auch darum kümmern kann, wenn der Server ausfällt. Das heißt es könnte zentral für alle Dienste ein Backupserver gesucht und dazu eine Verbindung hergestellt werden.
Hmmm, das bringt mich auch eine Idee. Wie wäre es denn damit das ein Backupdienst schaut ob der Socketdienst noch läuft, wenn nicht einfach den Dienst neustarten und der Socketclient meldet sich wieder an den Server an.

Zitat von jaenicke:
Ein Nachteil ist allerdings die zusätzliche Interprozesskommunikation auf dem Client. Dazu kommt, dass alles von dem einen zentralen Dienst abhängt. Fällt der aus irgendeinem Grund aus, geht gar nichts mehr auf dem Client.
Den Datenaustasuch könnte man ja über eine Datei machen. Sobal in der Datei was neues steht, nimmt der Dienst die Daten aus der Datei und gibt diese wieder frei für den Socketclient.

Zitat von jaenicke:
Deshalb wäre meine Meinung, dass mehrere separate Dienste mit eigenen Verbindungen ausfallsicherer und robuster (nicht von IPC und einem anderen Dienst abhängig) zu programmieren wären.
Das Problem was ich sehe, oder nur meine ist, auf dem eigentlichen Server laufen 3 Serversockets. Diese müssen ja auch untereinader kommunizieren und jobs hin und her verlagern. Also Synchronisieren.

Ich denke so, lieber 3 oder 4 Dienste auf einem Computer wie 3 Socketclients auf einem Computer.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 10:15
eine Methode fehlt auch noch im Ausgangspost:
Delphi-Quellcode:
 Dienst ClientComputer Servercomputer
Aufgabe1 <-> Client1 <-> Server1
Aufgabe2 <-> <-> Server1
Aufgabe3 <-> <-> Server1
So das man einen Client hat aber dort in den Einstellungen für die verschiedenen Aufgaben verschiedene Server eintragen kann. Das macht vor allem dann Sinn wenn der Client nur zur Bedienung ist und die eigentlichen Aufgaben (Prozessorlastige etc.) auf dem Server geschehen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#8

Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 10:23
Zitat von SirThornberry:
So das man einen Client hat aber dort in den Einstellungen für die verschiedenen Aufgaben verschiedene Server eintragen kann. Das macht vor allem dann Sinn wenn der Client nur zur Bedienung ist und die eigentlichen Aufgaben (Prozessorlastige etc.) auf dem Server geschehen.
Jup stimmt. Habe aber dann ein Problem.
Der Client muss die Verbindung immer trennen.
Und wenn der Server 1 daten an den Client senden möchte dieser aber gerade mit Server 2 verbunden ist muss ich mit Server 1 warten solange bis der Client sich wieder an Server1 anmeldet...
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.343 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 10:26
Warum musst du da Verbindungen trennen? Es können doch auch mehrere parallele Verbindungen laufen.
(Je nach Client-Betriebssystem und Einstellungen zumindest 10.)
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Jackie1983

Registriert seit: 12. Mär 2007
486 Beiträge
 
#10

Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste

  Alt 11. Jul 2009, 10:32
Das stimmt schon, aber so wie du es oben in der Zecihnung dargstellt hast nur mit einem Client auf dem Computer.
Wie soll den ein Client die Verbindung mit 3 Server halten. Der Client meldet sich an Server 1 dann kann er ja nicht mit Server 2 kommunizieren, da dieser ja auf einen anderen Port läuft...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz