AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Client/Server Projekt: Daten filtern und verteilen???
Thema durchsuchen
Ansicht
Themen-Optionen

Client/Server Projekt: Daten filtern und verteilen???

Ein Thema von romber · begonnen am 21. Mär 2012 · letzter Beitrag vom 28. Mär 2012
 
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Client/Server Projekt: Daten filtern und verteilen???

  Alt 22. Mär 2012, 07:30
Sogenannte Message Broker wie Apache ActiveMQ bieten diese Features:

* eine Nachricht kann gezielt an bestimmte Clients gesendet werden (anstatt Polling)
* Nachrichten können aber auch über einen 'Kanal' - auch 'Topic' (Thema) genannt - an alle Clients zugestellt werden, die diesen Kanal abonniert haben. Wenn man im konkreten Anwendungsfall je Filter einen Kanal definiert und die Nachrichten vom Server in diesen Kanal schreibt, erhalten alle Client diese Nachricht
* Eine weitere Filterungsmöglichkeit sind 'Selektoren', dies sind serverseitige Filter die der Client vorab dem Server mitteilt damit er Nachrichten nur dann dem konkreten Client zusendet, wenn sie bestimmte Kriterien erfüllt
* Wildcards ermöglichen das Filtern mehrerer Topics innerhalb einer Hierarchie



Da es Clientbibliotheken für viele Programmiersprachen gibt, kann zum Beispiel schon der Webservice (er kann in C#, Java, PHP oder Delphi geschrieben sein) beim Annehmen der Daten die Nachricht für die Benutzer an den Broker senden.

Wie der Einsatz eines Message Brokers konkret an die Bedürfnisse der Anwendung angepasst werden kann, ist sehr detailliert im Buch "Enterprise Integration Patterns" von Gregor Hohpe beschrieben.


Zur Geschwindigkeit: Message Broker sind sehr schnell (tausende Nachrichten pro Sekunde sind eher die Untergrenze) und robust, sie werden daher sehr häufig im Finanzsektor (Börsenkurse) eingesetzt.

Mit Delphi erreiche ich auf einem langsamen Notebook zwischen 4.000 und 20.000 Nachrichtenroundtrips pro Sekunde, wobei Client und Server auf dem gleichen Rechner laufen. Roundtrip = vom Client zum Server und wieder zurück zum Client, 4000 Roundstrips sind also 4.000 ausgehend(Client->Server) und 4.000 eingehend(Server->Client) pro Sekunde. Mit Apache ActiveMQ sind es ca. 2.500, Apache Apollo ca. 4.000. Es spielt daher also eher die generelle Netzwerklatenz eine Rolle, d.h. wie gut die Verbindungen vom Client zum Server sind.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
 


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 20:00 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