7

परिदृश्य:कई Azure कार्यकर्ता भूमिका मतदान एक ही कतार मृत लॉक का कारण बनता है या क्या करता है ज़हर संदेश

अगर मैं कई कार्यकर्ता भूमिकाओं या एक से अधिक थ्रेड, जो चुनाव Azure कतार में नए संदेश के साथ एक कार्यकर्ता भूमिका बंद स्पिन है।

क्या कोई यह पुष्टि कर सकता है कि यह सही डिजाइन दृष्टिकोण है या नहीं? कारण मैं कई कार्यकर्ता भूमिका निभाना चाहता हूं PROCESSJOB को तेज करना। हमारा आवेदन वास्तविक समय के करीब होना चाहिए, यानी जैसे ही हमें संदेश मिलना चाहिए, जटिल व्यवसाय नियम लागू करें और एज़ुर डीबी को प्रतिबद्ध करें। हम प्रति 3min संदेश 11,000 संदेश की उम्मीद कर रहे हैं।

धन्यवाद।

उत्तर

16

आपके पास जितनी चाहें उतनी कतार-पाठक हो सकते हैं। कार्यकर्ता भूमिका के उदाहरणों को मापना बहुत आम है, क्योंकि वे सभी एक ही कतार से पढ़ सकते हैं, जिससे आपको अधिक से अधिक कार्य थ्रूपुट मिलते हैं।

जब आप एक कतार संदेश पढ़ते हैं, तो इसे पढ़ने के लिए और एक ही काम करने से रोकने के लिए, समय की अवधि के लिए "अदृश्य" चिह्नित किया जाता है। संदेश की अवधि को समय अवधि समाप्त होने से पहले इसे हटाना होगा, अन्यथा संदेश फिर से दिखाई देगा, और जब मूल पाठक इसे हटाने का प्रयास करता है तो अपवाद फेंक दिया जाएगा। इसका मतलब है कि आपके परिचालन बेवकूफ होना चाहिए।

कोई प्रत्यक्ष जहर-संदेश हैंडलिंग नहीं है, लेकिन इसे लागू करना आसान है, क्योंकि प्रत्येक संदेश में डेक्यू गिनती होती है। बस इसे जांचें और 3-4 बार पढ़ने के बाद जहर संदेशों को हटा दें। आप डेक्यू गिनती के आधार पर टाइमआउट अवधि को गतिशील रूप से समायोजित भी कर सकते हैं, क्योंकि प्रसंस्करण बहुत कम समय खिड़की के कारण विफल हो जाती है।

DequeueCount के लिए MSDN documentation यहां है।

संपादित करें: जहां तक ​​3 मिनट में 11,000 संदेश प्रोसेसिंग करते हैं: कतारों के लिए स्केलेबिलिटी लक्ष्य 2,000 टीपीएस, या 360 मिनट तक 360,000 लेन-देन तक (आपके पास 11,000 संदेश आवश्यकता से कहीं अधिक है)। आप संदेशों को एक कतार संदेश में जोड़कर और साथ ही साथ कई संदेशों को पढ़ने के द्वारा चीजों को आगे बढ़ा सकते हैं, जो आपके लेनदेन की गणना को भी कम कर देगा। आप कतार की ApproximateMessageCount संपत्ति को देख सकते हैं कि यह देखने के लिए कि आपकी कतार का बैक अप ले रहा है (और फिर कतार वस्तुओं का उपभोग करने में सहायता के लिए अतिरिक्त अंतरों को स्केल कर रहा है)।

+0

विस्तृत उत्तर के लिए @ डेविड मकोगोन धन्यवाद। इसकी प्रशंसा करना। –

संबंधित मुद्दे