AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

Ein Thema von Piro · begonnen am 7. Mär 2016 · letzter Beitrag vom 12. Mär 2016
Antwort Antwort
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#1

AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

  Alt 7. Mär 2016, 11:26
Als Ergänzung zur Problematik:
Wenn eine schlanke Massenbenachrichtigung per Push realisiert ist, musst Du auch mit der Reaktion klarkommen.
Wenn vormals hunderte oder 2-tausende Rechner mit dem minütlichen Pollen wahrscheinlich eine rauschartige, hohe Grundlast auf dem Server produziert haben, könnte es nun mit pünktlichem Push an 10000 Systeme und anschließender DB Anfrage zu einer schlagartigen Überlast führen. Dabei kommt es auch darauf an, wie zielgenau bzw. ereignisspezifisch die Nachrichten verschickt werden, also an wieviele Clients /Gruppen.
"An alle: Es gibt neue Daten" ist weniger hilfreich als "An Etage 2, Nordtrakt: Neuer Drucker verfügbar"
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#2

AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

  Alt 7. Mär 2016, 11:34
Deswegen würde ich eine MessageQueue empfehlen, bei der sich die Clients registrieren und bei einem Event gleich die Nachrichten übermittelt bekommen. So sind die Daten gleich verfügbar. Oder man sendet in die Nachricht einen timestamp mit, wann sich der Client X mit dem Server verbinden und die Daten laden soll. (Die ersten 500 sofort, die nächsten 500 in sofort+x Sekunden, etc.pp).

Als MessageQueue kann ja der MS-Server (MSMQ) benutzt werden. Schnelle, saubere, skalierbare Lösung.
Bisheriger Nutzername "DJ-SPM"
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

  Alt 7. Mär 2016, 15:40
Quizfrage wäre noch vielleicht:
Sitzen diese 2000 (-1000) alle im gleichen Adress-Bereich ?

Polling von jedem Rechner wäre wohl die eher dümmste Idee ...
(... was ein unsinniger Traffic am Server ....)

Jeweils ein Multicast bei neuen Info's an alle mit speziellen Daten WEN WAS betrifft.
Die "Lauscher" sollten logo schon auf entsprechende Daten hören / diese auswerten.

Falls es mehrere Empfänger gleichzeitig betrifft, könnten die dann ja explizit beim Server noch mal nachfragen (hier dann im Polling), ob z.B. die Info schon abgearbeitet wurde oder noch relevant ist.

Nach dem Motto: Ich bin frei, gib her, brauch sich keiner weiter kümmern.

Typische CallCenter-Anwendung ?!

Geändert von TERWI ( 7. Mär 2016 um 15:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

  Alt 7. Mär 2016, 16:00
Pollen ist sicherlich die schlechteste Variante...

UDP Broadcast sicherlich die schlankeste...

Dann eher eine Restservice als das jeder Client seine eigene Datenbankverbindung aufbaut...

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

  Alt 7. Mär 2016, 17:19
Nachtrag:

... logo sollten nicht alle Server beim Multicast des Clienten ah hoc zurücksenden.
Auch das gäbe mächtigen Stress bei Absender, alle Antworten ala "Bin da, wer noch ?" auszuwerten / zu verwalten.

Hier sollte der Server/Lauscher mittels kleiner Eigenintelligenz zunächst mal checken, ob er überhaupt "ansprechbar" ist (nicht besetzt, MA in Pause, unterwegs, im Gespräch oder anderweitig "besetzt".

Mit Berücksichtigung, das auch nicht alle angesprochenen Rechner aktiv sind, reduziert das den Traffic sicher ungemein !

Ergänzed könnte man das Pferd logo auch anderes herum aufzäumen:
Jeder Server meldet sich nach Aufgabenübertragung anschließend wieder beim CLienten/Master "frei" und reiht sich in die Liste der nächsten, zu beauftragenden "Geräte" wieder unten ein.

Der Master könnte so gezielt den nächsten Server direkt von der Listen ab TOP ansprechen und Aufgaben verteilen.
Das gäbe bei "energiebedarften Geräten" auch ein wenig Luft für "Cool-Down" by the way ..
"Handshaking" sozusagen - vor und nach der pause oder permanent bei Voll-Last.

Erst wenn die Liste leer wäre - to much to do - käme ein evtl. Multicast-Ping als Anfrage (... mach hinne, hier liegt Arbeit ohne Ende ...) in Frage.

Niemand/nix frei ? Dann muss halt ne Warteliste aufgebaut werden ....
"... im Moment sind alle MA im Gespräch ..."
Bis (hoffentlich) wieder Ruhe einkehrt und wieder 'gezieltes' PING an den nächsten funktioniert.

Methoden ala BruteForce machen mehr kaputt als dass sie helfen.
Eile mit Weile !

Oder jemand noch bessere Ideen ?

Geändert von TERWI ( 7. Mär 2016 um 17:33 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?

  Alt 7. Mär 2016, 17:39
Oder jemand noch bessere Ideen ?
Sagen wir mal so...

Für die richtig guten Ideen hat der TE uns viel zu wenige Infos gegeben...
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 02:46 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-2025 by Thomas Breitkreuz