मान लें कि मैंने 5 नोड क्लस्टर पर 5 विभाजनों के साथ एक स्टेटफुल सर्विस फैब्रिक सर्विस बनाई है। मैं देखता हूं कि प्रत्येक नोड को प्रति नोड 1 विभाजन मिलता है। जब मैं वीएस में सेवा को डीबग करता हूं, तो मैंने देखा कि सर्विस फैब्रिक सभी 5 विभाजनों में स्टेटफुल सर्विस [अनिवार्य रूप से प्रति विभाजन 1 स्थिर उदाहरण] के बिल्कुल 5 उदाहरण बना रहा है। कोई फर्क नहीं पड़ता कि ग्राहक कितने कॉल करते हैं, इस वर्ग के अनुरोधों को पूरा करने के लिए केवल 5 उदाहरण हैं। क्या निम्नलिखित कथन सत्य हैं?

  • स्टेटफुल सर्विस में कोई भी वर्ग स्तर के सदस्य चर अनिवार्य रूप से स्थिर होते हैं [क्योंकि यह उस विभाजन पर सिंगलटन इंस्टेंस को हल करता है] और इसलिए अपडेट करते समय "लॉक" शब्दार्थ की आवश्यकता होती है?

  • चूंकि क्लाइंट हमेशा किसी दिए गए विभाजन के लिए कक्षा के "समान" उदाहरण को हल करता है, क्लाइंट "प्रॉक्सी" उदाहरण का पुन: उपयोग कर सकता है?

  • स्टेटफुल सर्विस क्रिएशन का यह "सिंगलटन" मॉडल प्रदर्शन और मापनीयता को कैसे प्रभावित करता है जब बहुत सारे क्लाइंट एक ही सर्विस इंस्टेंस को एक सेकंड में सैकड़ों बार कॉल करते हैं। [भारी भार के तहत] मैं समझता हूं कि V2 रिमोटिंग श्रोता को कॉन्फ़िगर करते समय एक सेटिंग होती है जहां हम "FabricTransportRemotingListenerSettings" के माध्यम से "MaxConcurrentCalls" निर्दिष्ट कर सकते हैं।
1
teeboy 19 जून 2018, 14:52

1 उत्तर

सबसे बढ़िया उत्तर

माइक्रोसॉफ्ट से पुष्टि। सर्विस फैब्रिक वास्तव में प्रति विभाजन "विश्वसनीय सेवा" का 1 [ONE] उदाहरण बनाता है। यह "सिंगलटन" इंस्टेंस सभी क्लाइंट रिमोटिंग/http कॉल की सेवा करेगा। यदि प्रतिकृति में विफलता होती है, तो एक नया उदाहरण बनाया जाएगा।

1
teeboy 30 अगस्त 2018, 22:01