C# .NET معالجة عبء العمل A'LA أمثلة معالجة قائمة انتظار الوظائف؟
-
25-09-2019 - |
سؤال
كجزء من منحنى التعلم المستمر الخاص بي في ما يمكنك القيام به لجعل مقياس التطبيقات أفضل ، أحاول حاليًا الحصول على اتجاه للذهاب مع قائمة الانتظار ، أي قائمة انتظار عمل أو معالجة عبء العمل أيهما تريد.
في الماضي البعيد ، استخدمت IBM MQ/Series - لقد نجحت في تطبيق مالي ولكن ثقيلًا جدًا إذا كنت أتذكر.
أعرف MSMQ ، وقد سمعت أيضًا عن عدد غير قليل من الآخرين.
لكن أولاً ، ها هو سياقتي
لديّ تطبيق ويب خلفي صافي C#/. يخدم البيانات وما إلى ذلك إلى JavaScript (معظمها jQuery وما إلى ذلك) الواجهة الأمامية عبر مكالمات Ajax وما إلى ذلك. لدي موقف يتضمن فيه إجراء معين تحميل بعض الملفات ، وإعداد بعض السجلات الإدخالات في قاعدة البيانات ، وإرسال بعض المستخدمين عبر البريد الإلكتروني وما إلى ذلك. لذا ، لا أريد أن أجعل هذه العملية "عبر الإنترنت"/"في الوقت الفعلي" بسبب تأخير الوقت المحتمل وأنا متأكد من أن النفقات العامة في خادم الويب/قاعدة البيانات وما إلى ذلك.
لذا ، بالنظر إلى نوع "الرسائل" التي أحتاجها إلى قائمة الانتظار والمعالجة ، ماذا سيكون (لا ينبغي أن أقول بسهولة هنا على ما أعتقد!) نقطة بداية جيدة؟ هل يجب أن أقوم بالركض مع MSMQ و/أو أشياء وسيط خدمة SQL 2008 ، أو شيء مثل Zeromq - أو هل يجب أن أقوم ببساطة بإنشاء خدمة قائمة انتظار عبء العمل الخفيفة الوزن الخاصة بي؟
أدرك مرة أخرى دون رؤية الصورة الكاملة أنه من الصعب تقديم توصيات كاملة ، ولكن أي نقاط بداية تم استلامها بامتنان!
ديفيد
المحلول
لا تحاول أن تصنع بنفسك من فضلك! هناك الكثير من الأشياء التي يجب مراعاتها بحيث تقضي وقتًا أطول عليها أكثر من بقية مشروعك على الأرجح.
أود أن أقول Go for MSMQ ، من السهل جدًا استخدامها مع WCF ، وقوائم الانتظار معاملات ، ولديها آلية إعادة المحاولة ، وما إلى ذلك ، وتستفيد من واجهة مستخدم MSMQ لرؤية الرسائل ، ونقلها وما إلى ذلك.