Forum: Programmieren allgemein
by Sir Rufo,
17. Dez 2014
Ja, das kommt vom MSMQ, damit es eben keine Überflutungen gibt und die Programmierung des Abfrage-Threads ist sehr simpel (beispielhaft skizziert):
procedure TMSMQThread.Execute;
var
LNachricht : ...
begin
while not Terminated do
if NachrichtInQueue( LNachricht ) then
Queue(
procedure
Forum: Programmieren allgemein
by Sir Rufo,
17. Dez 2014
Nein, ich habe diesen Punkt schon mehrfach erwähnt und es ist so wie gesagt 10-20 Sekunden. Das ist ein sogenannter LongPoll. Du kannst die Queue in einem Thread einfach immer fragen. Wenn dort eine Nachricht ist, bekommst du die sofort geliefert und du kannst die verarbeiten und sofort wieder die Queue fragen. Ist keine Nachricht da, dann bremst dich der MSMQ (aber ja nur den Thread), damit du...
Forum: Programmieren allgemein
by Sir Rufo,
16. Dez 2014
Die beiden kann man schlecht vergleichen. Das ist so wie einen Haufen Sand mit einem belebten Bürogebäude zu vergleichen. Natürlich kann man aus einem Haufen Sand auch ein Bürogebäude bauen und dann beleben.
Aber will man sich das wirklich antun? Wäre es da nicht besser, wenn man gleich Einziehen könnte und den Sand in den Sandkasten für die Kinder kippt? ;)
Wenn es jetzt nichts geben...
Forum: Programmieren allgemein
by Sir Rufo,
16. Dez 2014
Ja, der Dienst bleibt, allerdings ist die Kommunikation etwas anders.
Statt
<-> <-> <->
einfach
<-> <-> <->
Wobei das zwischen Service und Clients dann so aussieht
Forum: Programmieren allgemein
by Sir Rufo,
15. Dez 2014
Hört sich ja schon besser an, allerdings ist das Benachrichtigungs-System wie du das skizzierst hast etwas ... seltsam.
Wenn du die Nachrichten jetzt pro Modul sendest, dann zieht ja jedes neues Modul eine Änderung in der Nachrichten-Struktur mit sich. Da wäre es doch besser, einfach Nachrichten zu schicken, wenn sich die Daten geändert haben. Das Modul selber bekommt dann diese Information...
Forum: Programmieren allgemein
by Sir Rufo,
9. Dez 2014
Nein, nicht nur aber eben auch. Es wird entkoppelt und man hat damit weniger Abhängigkeiten (z.B. von der Datenbank-Komponente Fröhlichsein mit Fluxkompensator und Ventilator, aber nur bei linksdrehendem Joghurt).
Forum: Programmieren allgemein
by Sir Rufo,
5. Dez 2014
Wenn du eine Zwischenschicht da einziehst, dann kannst du gerade was die Performance angeht sehr schön skalieren, denn wo die Zwischenschicht sich die Daten herholt, weiß der Client nicht und muss er auch nicht entscheiden. Steigt die Anzahl der Abfragen, dann kommen im Hintergrund einfach ein paar mehr Slave-Datenbank-Kisten und die werden dann eben gefragt (Last-Verteilung).
Für die...
Forum: Programmieren allgemein
by Sir Rufo,
5. Dez 2014
Wenn der Datenbank Server schon auf einer Linux-Kiste läuft, dann klatscht dir da mit PHP ein REST drauf und lass das darüber laufen. Dann brauchst du auf den Clients auch keine Datenbank-Treiber mehr, nur noch HTTP-Abfragen ausführen :)