![]() |
3 Client 3 Server oder 1 Client 1 Server und Dienste
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:
Dabei gibt es vorteile sowie nachteile. Vorteil die last wird verteilt da 3 Server. Nachteil es müssen 3 Verbindungen bestehen.
ClientComputer Servercomputer
Client1 <-> Server1 Client2 <-> Server2 Client3 <-> Server3 Methode 2
Delphi-Quellcode:
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.
Dienst ClientComputer Servercomputer
Aufgabe1 <-> Client1 <-> Server1 Aufgabe2 <-> Aufgabe3 <-> 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 |
Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste
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? :gruebel: |
Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste
Zitat:
Im grunde läuft es so ab
Delphi-Quellcode:
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.
ClientComputer ServerComputer Manager
Client <-> Server1 Server2 <-> Client |
Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste
Zitat:
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... |
Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste
Ah, jetzt habe ich verstanden was du meinst. :idea:
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. |
Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste
Zitat:
Zitat:
Zitat:
Ich denke so, lieber 3 oder 4 Dienste auf einem Computer wie 3 Socketclients auf einem Computer. |
Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste
eine Methode fehlt auch noch im Ausgangspost:
Delphi-Quellcode:
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.
Dienst ClientComputer Servercomputer
Aufgabe1 <-> Client1 <-> Server1 Aufgabe2 <-> <-> Server1 Aufgabe3 <-> <-> Server1 |
Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste
Zitat:
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... |
Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste
Warum musst du da Verbindungen trennen? Es können doch auch mehrere parallele Verbindungen laufen. :gruebel:
(Je nach Client-Betriebssystem und Einstellungen zumindest 10.) |
Re: 3 Client 3 Server oder 1 Client 1 Server und Dienste
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... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz