विंडोज एज़्योर में: वेब भूमिका, कार्यकर्ता की भूमिका और वीएम की भूमिका क्या है?


115

जिस एप्लिकेशन पर मैं काम करता हूं उसमें एक वेब भूमिका होती है: यह एक साधारण वेब एप्लिकेशन है। मुझे विंडोज एज़्योर में एप्लिकेशन को होस्ट करने की आवश्यकता थी, इसलिए मैंने एक वेब भूमिका बनाई। मैं वास्तव में जानना चाहता हूं कि ये भूमिकाएं क्या हैं। उनका महत्व कोडिंग वार या स्टोरेज वार क्या है?

जवाबों:


101

EDIT 3/3/2013 - UDP एंडपॉइंट, वर्चुअल मशीन, और अधिक भाषाओं के संदर्भ में अपडेट किया गया

EDIT 6/6/2013 - वीएम रोल के विघटन को प्रतिबिंबित करने के लिए अपडेट किया गया, और विंडोज 2012 के लिए वेब / वर्कर रोल बेसलाइन ओएस छवियों को अपडेट करें।

@Vladimir द्वारा अच्छा लिंक। थोड़ा और अधिक स्पष्टीकरण: सभी भूमिकाएं (वेब, कार्यकर्ता) अनिवार्य रूप से विंडोज सर्वर हैं। वेब और वर्कर की भूमिकाएँ लगभग समान हैं:

  • वेब भूमिकाएँ IIS सक्षम के साथ Windows सर्वर VMs हैं
  • कार्यकर्ता भूमिकाएँ IIS अक्षम के साथ Windows सर्वर VMs हैं (और आप इसे मैन्युअल रूप से सक्षम कर सकते हैं)
  • वीएम भूमिकाएं विंडोज सर्वर 2008 की छवियां हैं जो आप हाइपर-वी के माध्यम से स्थानीय रूप से बनाते हैं और एज़्योर पर अपलोड करते हैं (और अब बंद हो गए हैं और अब 31 मई, 2013 तक उपलब्ध नहीं हैं
  • वर्चुअल मशीने एज़्योर में निर्मित विंडोज़ या लिनक्स इमेज हैं, जिन्हें आपके स्वयं के स्टोरेज में एक वीएचडी के रूप में संग्रहीत किया जाता है, और वीएम भूमिका पर कई संवर्द्धन होते हैं। उदाहरण के लिए: चूंकि vhd आपके स्वयं के संग्रहण खाते में है, आप आसानी से अपने vhd से एक छवि टेम्पलेट बना सकते हैं, इसे एक नए vhd में कॉपी कर सकते हैं या यहां तक ​​कि इसे VM Depot (केवल Linux) पर अपलोड कर सकते हैं ।

इन भूमिकाओं के साथ क्या करना है, इस बारे में आपके प्रश्न का उत्तर देने के लिए: प्लेटफ़ॉर्म ट्रेनिंग किट (नीचे उल्लेखित है) आपको बहुत सारे अच्छे विचार और नमूने देगा, लेकिन यहाँ कुछ सीधे उपयोग के मामले हैं:

  • आप किसी भी कोड को चला सकते हैं, जो एक tcp, http, https, या udp समापन बिंदु (वेब ​​एप्लिकेशन, SOAP / REST सेवाओं आदि) को उजागर करता है। आपको स्टेटलेस के बारे में सोचने की जरूरत है चीजों को करने तरीके के - यदि आपके पास एक से अधिक वीएम उदाहरण हैं, तो उपयोगकर्ता ट्रैफ़िक उन उदाहरणों में वितरित किया जाता है। मंच प्रशिक्षण किट आपको दिखाएगा कि इससे निपटने के लिए भंडारण या कैश का उपयोग कैसे करें।
  • आप उस कोड को चला सकते हैं जो एक कतार या टाइमर से दूर रहता है। हो सकता है कि आपके पास ऑन-डिमांड कार्य हो जैसे कि थंबनेल-पीढ़ी की तस्वीरें, या उपयोगकर्ता इनपुट के आधार पर गणना। इन्हें बाहरी रूप से उपलब्ध समापन बिंदु की आवश्यकता नहीं है। आप अपने अनुरोधों को एक कतार में धकेल सकते हैं, और फिर एक कार्य चल सकता है जो बस इस कतार को बंद कर देता है (और आप इस प्रक्रिया को कई उदाहरणों में, सभी उदाहरणों द्वारा उपभोग किए गए कतार संदेशों के साथ स्केल कर सकते हैं)।
  • आप .NET, जावा, php, पायथन, नोड, रूबी आदि चला सकते हैं। आपको बस अपने प्रोजेक्ट कोड के साथ उपयुक्त रनटाइम कोड वितरित करने की आवश्यकता है। सभी भाषाएँ एज़्योर एपीआई में रीस्ट कॉल कर सकती हैं, और कई भाषाओं (जिनमें ऊपर उल्लेख किया गया है) में एसडीके हैं जो आपके लिए इसका ध्यान रखते हैं। सभी भाषा एसडीके यहाँ हैं , जीथब पर स्रोत कोड के साथ, यहाँ
  • एक वीएम भूमिका के साथ, आप बहुत जटिल / समय लेने वाली स्थापनाओं के साथ सॉफ़्टवेयर इंस्टॉल और चला सकते हैं, स्थापना जिन्हें मैन्युअल हस्तक्षेप की आवश्यकता होती है, और ऐसी स्थापनाएं जो मज़बूती से स्वचालित नहीं हो सकती हैं। आपको इस मामले में ओएस रखरखाव से निपटना होगा। वीएम रोल से परे, अब वर्चुअल मशीनें हैं, जो विंडोज और लिनक्स दोनों समर्थन के साथ क्लाउड-आधारित वीएम निर्माण प्रदान करती हैं। मैं वीएम रोल पर वर्चुअल मशीनें सुझाता हूं।

वेब और वर्कर भूमिकाओं के साथ, ओएस और संबंधित पैच का आपके लिए ध्यान रखा जाता है; आप एक VM का प्रबंधन किए बिना अपने ऐप के घटकों का निर्माण करते हैं।

VM भूमिकाओं के साथ, आप एक पूर्ण Windows सर्वर छवि बनाते हैं, इसमें Azure हुक जोड़ते हैं, और पूरे VM को क्लाउड में धकेलते हैं (और फिर समय के साथ VM छवि बनाए रखें)।

वर्चुअल मशीन के साथ, आप बस एक गैलरी से एक ओएस छवि लेते हैं, जो आपके लिए बनाई गई है और बूँद भंडारण में एक vhd के रूप में संग्रहीत की जाती है। फिर आप RDP / ssh और इसे सेट करते हैं कि आप कैसे पसंद करते हैं।

आर्किटेक्ट टोपी पहनना, यह वह जगह है जहां यह मजेदार और दिलचस्प हो जाता है। आप वेब भूमिका या कार्यकर्ता भूमिका में वेब सेवाएँ चला सकते हैं (और या तो पोर्ट खोलने में सक्षम हो सकते हैं); आप कार्यकर्ता की भूमिका में टॉमकैट या अन्य वेब सर्वर की मेजबानी कर सकते हैं। आप एक एकल भूमिका में वेबसाइट प्लस सेवाओं को संयोजित करने के लिए चुन सकते हैं, या उन्हें अलग-अलग मापनीयता आवश्यकताओं के लिए कई भूमिकाओं में विभाजित कर सकते हैं।

एक अच्छी शुरुआत के लिए, प्लेटफ़ॉर्म ट्रेनिंग किट पर एक नज़र डालें और अभ्यास से चलना शुरू करें।


क्या आप वास्तव में वेब भूमिका पर tcp समापन बिंदुओं को उजागर कर सकते हैं? स्मार्क्स के अनुसार इन सभी को HTTP: stackoverflow.com/questions/2926737/… होना चाहिए । यह भूमिकाओं के बीच एक और सूक्ष्म अंतर बनाता है।
रिचर्ड एस्टबरी

मैंने अपनी खुद की क्वेरी का जवाब दिया है, आप टीसीपी पोर्ट खोल सकते हैं, लेकिन इसे वेबसाइट पर न बांधें।
रिचर्ड एस्टबरी

2
रिचर्ड - जबकि यह मामला हुआ करता था, अब एंडपॉइंट भूमिका प्रकार की परवाह किए बिना, tcp, http या https हो सकता है। मैं, जो टीसीपी और http का एक मिश्रण है एक नमूना ऐप्लिकेशन बनाया, जबकि नए 25-endpoint-प्रति-भूमिका अद्यतन कुछ महीने पहले का प्रदर्शन - ब्लॉग पोस्ट के लिए यहाँ देखें - davidmakogon.com/2011/05/...
डेविड Makogon

क्षमा करें - मेरा मतलब था कि प्रति तैनाती 25 समापन बिंदु प्रदर्शित करना। और ... आपकी अन्य टिप्पणी को देखकर, मैंने गलत प्रश्न का उत्तर दिया हो सकता है। :)
डेविड माकोगन

@DavidMakogon - वेब रोल और वर्कर रोल की जगह क्या है? मुझे PhantomJS के साथ एक वेबसाइट तैनात करने की आवश्यकता है जिसमें GDI + की आवश्यकता है। GDI + पूरी तरह से वेब जॉब्स द्वारा समर्थित नहीं है। मुझे उम्मीद थी कि मैं एक वेब भूमिका का उपयोग कर सकता हूं। वेब भूमिका की जगह क्या है? मुझे VM का कॉन्सेप्ट पसंद आया जो Azure द्वारा पैच और मेनटेन किया गया था। धन्यवाद!
मार्टिन

30
  • वेब भूमिकाएँ IIS में होस्ट किए गए वेब अनुप्रयोग हैं।
  • श्रमिक भूमिकाएं ऐसी प्रक्रियाएं हैं जो कुछ काम कर सकती हैं (अर्थात स्वचालित रूप से अपलोड की गई छवियों को संपीड़ित करें, जब भी आपके डेटाबेस में कुछ परिवर्तन हो, तो कतार और प्रक्रिया से नए संदेश प्राप्त करें, आप इसे नाम दें)
  • VM भूमिकाओं में VM की मेजबानी करता है

10
दरअसल, वेब रोल्स और वर्कर रोल्स VMs हैं।
डेविड मकोगन

यह एक बहुत ही सरल उत्तर है और खेद है, वे VMs नहीं हैं ... क्या आप सोच सकते हैं कि बहु-स्तरीय समाधान के लिए बहु वर्कर भूमिकाओं के साथ लागत का क्या होगा अगर इसकी एक अलग VM हो? blogs.msdn.microsoft.com/silverlining/2012/06/27/…
क्लेरेंस

अधिक विशिष्ट होने के लिए कार्यकर्ता भूमिकाएँ IIS के बिना VM हैं
dejjub-AIS

21

मैं कई दिनों पहले इस SO प्रश्न / उत्तर पर भाग गया था और मैंने पाया कि उत्तर मेरे सिर पर थोड़ा उपलब्ध हैं (मैं Azure और वेब पर नया हूं)। मुझे आज रात में यह सारांश मिला, जो मुझे लगा कि कार्यकर्ता और वेबसाईट के बीच मुख्य अंतर का एक अच्छा उच्च स्तरीय अवलोकन था:

दोनों के बीच मुख्य अंतर यह है कि वेब भूमिका का एक उदाहरण IIS चलाता है, जबकि एक कार्यकर्ता भूमिका का उदाहरण नहीं है। हालांकि, दोनों को एक ही तरीके से प्रबंधित किया जाता है, और यह किसी एप्लिकेशन के लिए दोनों का उपयोग करने के लिए सामान्य है। उदाहरण के लिए, एक वेब भूमिका उदाहरण उपयोगकर्ताओं से अनुरोध स्वीकार कर सकता है, फिर उन्हें प्रसंस्करण के लिए एक कार्यकर्ता भूमिका उदाहरण में पास कर सकता है। अपने एप्लिकेशन को ऊपर या नीचे स्केल करने के लिए, आप अनुरोध कर सकते हैं कि विंडोज एज़्योर या तो भूमिका के अधिक उदाहरण बनाएं या मौजूदा इंस्टेंस को बंद कर दें। और Windows Azure वर्चुअल मशीनों के समान, आपसे केवल उस समय के लिए शुल्क लिया जाता है, जब प्रत्येक वेब या वर्कर रोल इंस्टेंस चल रहा होता है।

यदि आप Azure के विकास में नए हैं, तो मैं अत्यधिक पूर्ण लेख यहाँ पढ़ने की सलाह देता हूँ: Windows Azure में

मुझे उम्मीद है कि यह किसी को मेरी मदद करता है क्योंकि यह मेरे लिए प्रकाश बल्ब को चालू करने में मदद करता है।


3

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.