Erstens, einige Hintergrund: Wir haben ein Benutzerkonto-Management-System (AMS) mit etwa 10K Benutzer. Nutzer greifen auf verschiedene Websites zu und machen Einkäufe. Die Websites wiederum belohnen die Nutzer. Alle Transaktionsdetails sowie die Kontostände werden von unserem AMS verwaltet.Warteschlangen Anfragen basierend auf Benutzer
Das AMS API erhält ein Token und Aktionsbeschreibung von den Webseiten für: 1. Kauf erfolgt durch den Benutzer 2. Belohnungen für den Benutzer durch Website gegeben
Problem - wir festgestellt, dass bei großer Belastung - einen Benutzer ist in der Lage, mehrere Käufe zu tätigen, auch nachdem sein Kontostand auf 0 gesunken ist. Was passiert, ist - die erste Anfrage ist vielleicht noch in Bearbeitung, während die zweite das System trifft. Ich möchte, dass die Anfrage jedes Benutzers in eine Warteschlange geht, damit sie ordnungsgemäß verarbeitet wird.
Bitte geben Sie einige deutliche Hinweise, was ich tun sollte, um diesen Schmerz zu lindern. Das System wurde mit .NET/MSSQL entwickelt.
Grüße
Wie könnte jemand hier echte Hilfe anbieten? Wir wissen derzeit nicht, wie Ihr System funktioniert. Es gibt Dutzende von Potentialen hier, aber sie sind alle abhängig davon, wie Ihr System funktioniert. Vielleicht hören Sie auf, NOLOCK-Hinweise zu verwenden ... aber keine Ahnung, wenn Sie sie benutzen. Vielleicht mit Locking-Tipps? Ohne viel mehr Details die besten können es raten. Und das hört sich alles jenseits des Rahmens eines Online-Forums an. –
Ich weiß, dass die Frage etwas vage ist. Ich erwarte Lösungen für die Verwendung einiger Architektur wie Service-Bus oder Warteschlangen oder sonst. – sabkaraja
Wir wissen jedoch nichts über Ihr aktuelles System. Wir können Ihnen unmöglich helfen, eine bessere Lösung zu finden. Ich vermute, dass Sie einige Designprobleme haben, die dazu führen, dass Ihr System alles zu langsam verarbeitet. Zusätzlich habe ich das Gefühl, dass du Dirty Reads verwendest, die genau diese Art von Dingen erlauben würden. –