Windows Workflow Foundation weist ein langsames Problem auf, wenn WF-Instanzen persistent bleiben. Ich plane, ein Projekt zu machen, dessen Business-Layer auf WF-exponierten WCF-Services basieren wird. Das Projekt wird jeden Monat 20.000 neue Workflow-Instanzen erstellen. Jede Instanz kann bis zu zwei Monate dauern. Was ich dazu gebracht habe zu glauben, dass die gegebene WF in der Perversität langsamer wird, wäre mein gegebenes Problem aus Leistungsgründen unerreichbar. Ich habe die folgenden Fragen:WF-Leistung mit neuen 20.000 persistenten Workflowinstanzen pro Monat
- Ist das wahr? Wird meine Leistung mit dieser Last Mist sein (gegeben WF persitative Geschwindigkeitsbegrenzungen)
- Wie kann ich das Problem lösen?
Wir haben derzeit zwei mögliche Lösungen: 1. Jede neue buisiness Prozessanforderung (zB Geben Sie mir einen neuen Führerschein) wird eine neue WF-Instanz, und die Anzahl der persistance Operationen werden durch Weiterleiten alle Status begrenzt Anfordern von Operationen zum Speichern von Statuswerten in einer separaten Datenbank. 2. Lassen Sie nur eine kleine Anzahl von Workflow-Instanzen zu jeder gegebenen Zeit ohne jegliche Persistenz (nur im Falle von Systemabstürzen usw.) laufen, indem Sie jeden Workflow-Stack in eine separate Arbeitsumgebung und diesen Workflow für jeden Geschäftsprozess auflösen Anforderungsinstanz in dem System, das sich in diesem aktuellen Schritt befindet (z. B. gebe ich mein Führerscheinanforderungsformular ein, was Schritt 1 ist ... wir haben 100 Fälle davon und mein Schritt-Eins-Workflow wird jeden Fall gleichzeitig bearbeiten).
Ich bin sehr interessiert an der Lösung für dieses Problem. Wenn Sie dieses Problem diskutieren möchten, bitte frei sein, mich unter [email protected] zu mailen
Seien Sie auch vorsichtig mit der Ebene der Ereignisse, die Sie im Transaktionslog verfolgen. Ihre Datenbank kann sehr schnell sehr voll werden. – Wedge