2016-05-03 12 views
14

अब एज़ूर सर्विस फैब्रिक के साथ, विंडोज सर्विस बस जैसे अलग कतार समाधान का उपयोग करने के लिए उपयोग-केस भी होगा? डाउनसाइड्स शायद विफलता का एक नया बिंदु होगा, लेकिन क्या वहां उछाल आया है? कतार कुछ बफरिंग जोड़ सकती है, लेकिन दूसरी तरफ, सेवा फैब्रिक वास्तव में अच्छी तरह से स्केल करने और राज्य की क्षमताओं की पेशकश करने में सक्षम होना चाहिए, इसलिए कोई कतार बफर की आवश्यकता नहीं होनी चाहिए?Azure सेवा फैब्रिक और संदेश कतार

उत्तर

12

निश्चित रूप से, उछाल यह है कि Azure Service Bus और Azure Storage Queues जैसी सेवाएं ऐसी सुविधाएं प्रदान करती हैं जिनमें सेवा फैब्रिक में आउट-ऑफ-द-बॉक्स शामिल नहीं है। तो खुद से पूछने का सवाल यह है कि: क्या आप उस कार्यक्षमता को प्राप्त करने के लिए बाहरी सेवा निर्भरता जोड़ते हैं, या क्या आप स्वयं को सेवा फैब्रिक पर बनाकर स्वयं निहित रहते हैं? सेवा फैब्रिक पर एक आत्मनिर्भर अनुप्रयोग अच्छा है, लेकिन मौजूदा कार्यक्षमता का पुन: आविष्कार खराब है, इसलिए आपको यह तय करना होगा कि आपके लिए सबसे अधिक मूल्य कहां है और उस दिशा में दुबला है।

उदाहरण के लिए, के बारे में सोचते ..

  • पोर्टेबिलिटी। सेवा फैब्रिक पर स्वयं निहित एक आवेदन होस्ट किया जा सकता है जहां भी सेवा फैब्रिक चलाया जा सकता है, जो कहीं भी कहीं भी है (Azure, अन्य सार्वजनिक बादल, अपनी मशीनें या डेटा सेंटर इत्यादि)।
  • कोई बाह्य निर्भरता का मतलब विफलता के कम अंक, एक उपकरणसेट, और एक एकीकृत विकास, तैनाती, उन्नयन, और रखरखाव प्रक्रिया का मतलब है।

दूसरी ओर ..

  • सेवाएं सेवा बस की तरह एक rich set of features प्रदान करते हैं। क्या सेवा निर्माण पर आपको अपनी सुविधाओं की आवश्यकता बनाने और बनाए रखने के लायक है?
6

अच्छा सवाल! मैं इसके आसपास भी नूडलिंग कर रहा हूं। मेरे मामले में मैं queuing के लिए एक RabbitMQ क्लस्टर का उपयोग कर रहा हूँ। मैं इससे बचना चाहता था और विश्वसनीय क्विज़ का उपयोग कर राज्यव्यापी सेवाओं की उम्मीद कर रहा था। मैंने सेवा में संदेश जोड़ने और संदेश पहुंचने के लिए RunAsync विधि का उपयोग करने के लिए एक विधि का खुलासा किया। मैं RabbitMQ से कनेक्ट एक स्टेटलेस सेवा की तुलना में इस दृष्टिकोण का उपयोग करके प्रदर्शन से प्रभावित नहीं हूं। लेकिन इससे पहले कि मैं हार मानूं, मैं 5 नोड्स में राज्य सेवा को विभाजित करने की योजना बना रहा हूं और देख सकता हूं कि राज्यव्यापी सेवाओं का उपयोग कतार उपभोग करने वाले श्रमिकों का उपयोग करके कोई प्रदर्शन सुधार हुआ है या नहीं।

+0

खरगोश एमक्यू बनाम विश्वसनीय कतारों के प्रदर्शन के बारे में आपकी टिप्पणियों में वास्तव में रुचि रखते हैं। तुमने क्या खत्म किया? – kenchilada

+3

हमारे ऐप को बहुत बड़ी संख्या में वार्तालापों को संसाधित करने की आवश्यकता है। मैंने विश्वसनीय क्यू का उपयोग करके 5 राज्यव्यापी सेवाओं को अपने स्वयं के विभाजन के साथ शुरू कर दिया। विभाजन का उपयोग संदेशों के भार को वितरित करने में मदद के लिए किया गया था। इस मार्ग के साथ जाकर, 1000 संदेशों को संसाधित करने में 45 सेकंड लगे। 3 विभाजित स्टेटलेस सेवाओं में आरएमक्यू का उपयोग करके, 1000 संदेश प्रोसेसिंग केवल 0.350 सेकेंड ले लिया !!! न केवल प्रसंस्करण में एक बड़ा महत्वपूर्ण सुधार, लेकिन राज्यव्यापी प्रतिकृतियों की आवश्यकता अब और आवश्यक नहीं थी। – code5

+1

आगे जो मैं कह रहा था उसे संशोधित करने के लिए, @ वाकालाव टूरसेक के रूप में नकारात्मक पक्ष का उल्लेख है कि अनुप्रयोगों और टुकड़े अधिक बिखरे हुए हैं, स्वयं को निहित नहीं किया गया है। हमारे इंजीनियरों में से एक वर्तमान में सेवा फैब्रिक क्लस्टर का उपयोग कर आरएमक्यू को क्लस्टर करने का तरीका जांच रहा है। इस पर अभी तक कोई अपडेट नहीं है। मैं एज़ूर सर्विस बस का उपयोग करने की उम्मीद कर रहा था, लेकिन व्यवसाय Azure से बंधे नहीं होना चाहता। – code5

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