2013-08-26 5 views
8

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

पूर्ण धक्का करने के बजाय क्लाउड पर कार्यकर्ता भूमिका को अपडेट करने के लिए कोई आसान तरीका?

उत्तर

12

ब्रेंट 100% सही है और मैंने उसका जवाब ऊपर उठाया है। आपको आरडीपी के माध्यम से उत्पादन सेवा में कोई बदलाव न करने के लिए सावधान रहना चाहिए। ऐसा कहकर, आपने उल्लेख किया है कि यह केवल आपके विकास चरण के दौरान परीक्षण उद्देश्यों के लिए था, और पूरी क्लाउड सेवा को फिर से तैनात किए बिना एकल DLL फ़ाइल और परीक्षण को अपडेट करने में सक्षम होने में बहुत अधिक मूल्य है। मैं यह हर समय ऐसा करता हूं जब एज़ूर वीएम पर समस्या निवारण होता है।

वीएम पर प्रक्रियाओं के आर्किटेक्चर के लिए http://blogs.msdn.com/b/kwill/archive/2011/05/05/windows-azure-role-architecture.aspx देखें। विशेष रूप से, ध्यान दें कि WaHostBootstrapper कार्यकर्ता और वेब भूमिकाओं दोनों के लिए मूल प्रक्रिया है। किसी भी वेब या कार्यकर्ता भूमिकाओं में डीएलएल को प्रतिस्थापित करने के लिए सबसे अच्छी विधि है:

  1. WaHostBootstrapper को समाप्त करें। आप कार्य प्रबंधक के माध्यम से ऐसा कर सकते हैं।
  2. डीएलएल को बदलें। ध्यान दें कि ऐसा करने के दौरान आपको तेज़ी से होने की आवश्यकता है क्योंकि WaHostBootstrapper * को मारने के तुरंत बाद Azure स्वचालित रूप से सब कुछ पुन: प्रारंभ कर देगा।
  3. स्वचालित रूप से पुनरारंभ करने के लिए WaHostBootstrapper की प्रतीक्षा करें, जो स्वचालित रूप से WaWorkerHost/WaIISHost को पुनरारंभ करेगा।

* यदि आपको अपना परिवर्तन करने के लिए अधिक समय चाहिए तो आप WinDBG जैसे WindowsAzureGuestAgent को डिबगर संलग्न कर सकते हैं और इसे प्रक्रिया में विभाजित कर सकते हैं। यह Azure को होस्ट बूटस्ट्रैप प्रक्रिया को स्वचालित रूप से पुनरारंभ करने से रोक देगा। अपने परिवर्तन करने के बाद आप डीबगर को अलग कर सकते हैं और WindowsAzureGuestAgent को चलना जारी रख सकते हैं। ध्यान दें, कि अगर आप 10 मिनट से अधिक समय के लिए रुक गए राज्य में WindowsAzureGuestAgent छोड़ते हैं तो होस्ट एजेंट यह पता लगाएगा कि वीएम उत्तरदायी नहीं है और वीएम को रीबूट करता है।

* संपादित करें: अधिक विस्तृत निर्देश http://blogs.msdn.com/b/kwill/archive/2013/09/05/how-to-modify-a-running-azure-service.aspx पर उपलब्ध हैं।

+0

बहुत बहुत धन्यवाद, यह वही है जो मैं चाहता था !! लेकिन मैं कार्य प्रबंधक प्रक्रियाओं में WaHostBootstrapper नहीं ढूंढ पा रहा हूं। हालांकि WindowsAzureGuestAgent प्रक्रिया है, क्या यह कार्यकर्ता भूमिका शुरू करता है? – Bitsian

+0

यदि आप WindowsAzureGuestAgent देखते हैं, लेकिन WaHostBootstrapper नहीं तो यह संभावना है कि आपकी भूमिका रीसाइक्लिंग हो रही है। Http://blogs.msdn.com/b/kwill/archive/2013/08/20/troubleshooting-scenario-1-role-recycling.aspx पर समस्या निवारण वर्कफ़्लो देखें। – kwill

+0

यदि आपको इसे कुछ सेकंड से थोड़ा अधिक रोकने की आवश्यकता है तो आप WindowsAzureGuestAgentService को रोकें और फिर WaHostBootstrapper कार्य को मार दें। फिर आपके पास वीएम पुनरारंभ होने तक 10 मिनट हैं। – Archlight

6

बस शब्दों में कहें, आप नहीं करते हैं। ऐसा करना विंडोज़ एज़ूर पास क्लाउड सर्विसेज की "स्टेटलेस" प्रकृति के सीधे संघर्ष में है। यदि किसी भूमिका के उदाहरण को स्थानांतरित करने की आवश्यकता है, तो यह आपके मूल रूप से तैनात राज्य पर वापस आ जाएगा, जो आपके द्वारा किए गए किसी भी बदलाव को रद्द कर देगा। और भूमिका के मामलों को किसी भी समय स्थानांतरित किया जा सकता है। इसलिए आरडीपी में बदलाव करने और परिवर्तन करने का कोई भी प्रयास आपके महत्वपूर्ण दर्द का कारण बन जाएगा।

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

कार्यकर्ता स्वयं एक लंबे समय तक चलने वाला कंसोल प्रोग्राम है जो प्रारंभिक प्रक्रिया के साथ आपके अतिथि वीएम में एक भूमिका उदाहरण के "ऑनस्टार्ट" विधि में विंडोज़ एज़ूर एजेंट प्रक्रिया से कॉल द्वारा शुरू किया गया है।

+1

बस इसमें जोड़ने के लिए, वही स्टेटलेसनेस ब्रेंट वेब भूमिकाओं के बारे में बात कर रहा है। वेब भूमिकाओं को अपडेट करने के लिए आप जो कर रहे हैं, वह आपके विकास या परीक्षण के लिए काम कर सकता है, लेकिन आपको इसे कभी भी उत्पादन प्रणालियों के लिए नहीं करना चाहिए। परिवर्तन भूमिका अद्यतन, ओएस पैच, आदि में बनाए रखा नहीं जाएगा सब कुछ ब्रेंट संकेत दिया। – MikeWo

+0

सिर के लिए धन्यवाद, लेकिन मैं उत्पादन सर्वर पर ऐसे कोई भी बदलाव नहीं कर रहा हूं। चूंकि अभी भी विकास चरण में हूं, कुछ मामूली बदलाव देखने के लिए सब कुछ तैनात करने में काफी दर्द है, इसलिए कुछ काम आसपास की तलाश में था। मुझे उम्मीद है कि क्विल का जवाब चाल करेगा। – Bitsian

+0

क्या यहां कुछ आवश्यकता है कि स्थानीय एमुलेटर पूरा नहीं हो रहा है? – BrentDaCodeMonkey

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