![]() |
AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
Zitat:
* Apache ActiveMQ (Java-basiert, Clients in C/C++, C#, PHP, Pascal, Perl, Python, ...) unter ![]() * RabbitMQ (Erlang-basiert, Clients in Java, C#, Ruby, Python, PHP, JavaScript, Pascal, ...) - ![]() |
AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
@ Mavarik
... wohl wahr - wie immer ! @ mjustin Free Open Source Message Broker ? Indianer und andere Hasen ??? Was haben die mit der Entwicklung eines sauberen und schlanken Programmes zu tun ? Eher NIX !? Damit wird nur massiv auf/eingesetzt und anderen das Denken überlassen, die/wo/da/so dann doch mit nennenswerter/überdimensionierter Performance NUR mit MEGA-EURO für Hardware, welche die schlecht gemachte Software wieder rausreissen muss .... Aktuell finde ich es sehr erstaunlich, hier noch mit 9000/700 am start zu sein. Nicht der Brüller - manche anderen würden sich freuen. |
AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
Zitat:
Zitat:
|
AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
Zitat:
Beispiele, Vor- und Nachteile habe ich in einem Blog Artikel (Englisch) beschrieben unter ![]() Eventuell auch interessant ist: ![]() |
AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
Moin,
Vielen vielen Dank für die zahlreichen Antworten. Sorry fürs späte Melden. Ich saniere gerade unser Haus. Meine Idee: In unserem Firmennetzwerk, welches weltweit ist, soll eine kleine Anwendung auf jedem Windows Computer bei Logon via Group Policy gestartet werden. Anhand des Active Directory SiteName aus der Registry melden sich die Computer an dem Nachrichten Server an. Mit einem Management Programm kann ich dann eine Nachricht in die Datenbank schreiben mit dem Zusatz, welche Standorte auf Basis des SiteName eine Nachricht bekommen sollen. Eine kleines Programm kontrolliert dann alle Minute, ob eine neue Nachricht vorhanden ist und sendet diese dann an die relevanten Computer. Dadurch muss ich folgende Programme programmieren: 1. Management PGM ( ist schon fertig) 2. Nachrichtenserver, der alle Client Verbindungen annimmt und die DB auf neue Nachrichten überprüft 3. Client PGM, welches auf jedem Computer gestartet wird, welches sich am Server anmeldet Ich würde gerne alles mit Delphi umsetzen, wenn es machbar ist. Außer es wäre mit anderen Tools sinnvoller. Danke im Voraus. Sven |
AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
Zitat:
Zitat:
![]() Warum nun doch wieder Delphi, wenn SignalR wirklich eine sehr gute Lösung darstellen würde? |
AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
Ja das mit SignalR ist doch etwas zeitaufwendiger als gedacht. Da muss ich mich mit der Materie von ganz vorne auseinandersetzen.
C# und GUI und so weiter, sind für mich totales Neuland. Leider habe ich die Zeit nicht und Delphi ist für mich vertrauter. Wenn ich die Zeit hätte, wäre es vielleicht anders. Deshalb die Idee, ob Delphi irgendwelche Techniken hat, w.z.B. SignalR, um mein Vorhaben mit Delphi Mitteln umzusetzen. Wie gesagt, habe ich schon eine fertige Management Anwendung in der ich alle Rechner habe. Mit dieser kann ich die zu verschickende Nachricht in die DB speichern. Jetzt fehlt mir nur noch der Server und die Client Anwendung mit mein Vorhaben mit den richten Mitteln, umzusetzen. Gruß, Sven |
AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
Zitat:
![]()
Code:
Ob das über 10000 Connections schafft sollte der Author sicher beantworten können. Ich würde aber zur Sicherheit immer auch eigene Lastsimulationen durchführen.
Fully functional multithreaded WebSocket server according to RFC 6455.
Supports Firemonkey (Windows, MacOS, iOS and Android). Supports Lazarus / FreePascal. Supports CBuilder. Supports C# .NET through sgcWebSockets.dll Supports Chrome, Firefox, Safari, Opera and Internet Explorer (including iPhone, iPad and iPod) Binary and Full Unicode Messages Support Message compression using PerMessage_Deflate extension. Flash FallBack for Web Browsers without native WebSockets (like Internet Explorer 6-9). Multiple Threads Support Server component providing WebSocket and HTTP connections through the same port. Client WebSocket supports connections through Socket.IO Servers. Client WebSocket supports connections through HTTP Proxy Servers. WatchDog and HeartBeat built-in support. Events Available: OnConnect, OnDisconnect, OnMessage, OnError Built-in sub-protocols: JSON-RPC 2.0(Transactional Messages, PubSub, RPC, Queues, QoS and more), Datasets, Binary Files, WebRTC and WAMP. Built-in Javascript libraries to support browser clients. Easy to setup Javascript Events for a full control Async Events using Ajax SSL/TLS support on Server and Client components Indy-basierte Lösungen sind allerdings nicht für so hohe Verbindungszahlen geeignet wenn die Connections alle gleichzeitig geöffnet sein müssen. (nachzulesen z.B. unter ![]() Wenn es 20000 Clients sein sollen und der Server in Delphi implementiert werden muss, könnte man * mehrere Server laufen lassen (um die Last zu verteilen) * die Verbindung nur kurz geöffnet lassen und serverseitig die wartenden Informationen in einem Cache halten, damit der Client sehr schnell wieder die Verbindung trennen kann *) * UDP verwenden um Clients über neue Nachrichten zu informieren *) aber das Betriebssystem wird dann den Socket immer noch für längere Zeit offen halten. Wenn sich viele Clients immer wieder verbinden und trennen, kann das Betriebssystem dann nach einiger Zeit keine neuen Sockets mehr öffnen (das ist einer der Gründe warum z.B. HTTP 1.1 die Verbindung geöffnet hält - 'HTTP/1.1 makes persistent connections the default.' - ![]() |
AW: Nachrichten für mehr als 10.000 Rechner im Netzwerk - Welche Technik verwenden?
Moin,
habe mich jetzt doch mit SignalR und C# auseinander gesetzt. Ist echt cool. Werde SignalR verwenden. Vielen Dank für die gute Unterstützung und die Anregungen. Mit freundlichen Grüßen Sven |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:20 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