2015-10-15 8 views
7

को पुनः प्राप्त नहीं करता है, मुझे वर्तमान में एक ऐसे मुद्दे का सामना करना पड़ रहा है जहां यूरेका कभी भी ऐसी सेवा के उदाहरणों को साफ़ नहीं करती है जो बेकार हो गए हैं क्योंकि वीएम अप्रत्याशित रूप से नीचे चला गया है। समझा जा सकता है कि, यूरेका के आत्म-संरक्षण मोड में लात मारी गई क्योंकि सेवा नवीकरण/दिल की धड़कन अनुरोधों में बड़ी गिरावट थी (सीमा के नीचे)। हालांकि, 15+ घंटे बाद मृत घटनाएं यूरेका में अभी भी पंजीकृत हैं। यह एक बड़ी समस्या है क्योंकि सेवा अनुरोधों को मृत घटनाओं को केवल त्रुटियों को वापस करने के लिए निर्देशित किया जाना जारी है।यूरेका का आत्म-संरक्षण मोड कभी भी

मेरी आशा थी कि दहलीज लगातार समायोजित की जाती है और कुछ समय बाद, यूरेका की दहलीज एक नए मानक स्तर पर होगी और आत्म-संरक्षण मोड रीसेट हो जाएगा। हम प्रतिबिंबित सेटअप में यूरेका का उपयोग कर रहे हैं और हमारी कॉन्फ़िगरेशन बहुत जटिल नहीं हैं।

हमारे स्थापना: वसंत-बूट स्टार्टर माता पिता के माध्यम से

यूरेका 1.2.5.RELEASE

eureka: 
    dashboard: 
    path: services 
    enabled: false 
    instance: 
    hostname: localhost 
    leaseRenewalIntervalInSeconds: 3 
    metadataMap: 
     managementPath: /admin 
     instanceId: discoveryPrimary 
    client: 
    registerWithEureka: false 
    fetchRegistry: false 
    serviceUrl: 
     defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ 
    server: 
    waitTimeInMsWhenSyncEmpty: 0 

है यह संभव आत्मरक्षा मोड रीसेट करने के लिए यूरेका विन्यास समायोजित करने के लिए (जहां यह समाशोधन उदाहरण रोकता है) और यदि सेवा 5+ मिनट के लिए मर जाती है तो सेवा रजिस्ट्री को साफ़ करने की अनुमति दें?

उत्तर

4

यदि आपके पास अपनी सेवाओं के केवल कुछ उदाहरण हैं, तो हर बार उनमें से कोई भी असफल हो जाता है, स्वयं का संरक्षण किक कर देगा क्योंकि डिफ़ॉल्ट रूप से renewalPercentThreshold0.85 है।

तो यदि आपके केवल 84% उदाहरणों ने अपने पट्टे पर यूरियाका को नवीनीकृत किया "आत्मनिर्भरता" चालू हो गया।

इसका मतलब है कि यदि आपके पास 3 उदाहरण हैं और कोई विफल रहता है, तो उनमें से केवल 66% प्रतिशत ने अपने लाइसेंस को नवीनीकृत कर दिया है, इसलिए कोई भी अपंजीकृत नहीं होगा। आप अपनी परिनियोजन को सुइट करने के लिए सर्वर गुणों में renewalPercentThreshold को ट्यून कर सकते हैं।

eureka: 
    server: 
    renewalPercentThreshold: 0.49 
इस के साथ

, यदि आप 2 उदाहरणों है और 1 में विफल रहता है तो आप अभी भी अच्छे हैं।

+0

'नवीनीकरण केंद्र' को समायोजित करना स्वयं संरक्षण मोड में देरी से इस मुद्दे के आसपास होगा। हम 'eureka.server.enableSelfPreservation = false' सेट करके इसे पूरा कर सकते हैं, लेकिन अगर आत्म-संरक्षण ट्रिगर होता है तो वह समस्या को हल नहीं करेगा और वे उदाहरण कभी वापस नहीं आते हैं। – restwzeasy

+0

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

+0

हमारा लक्ष्य स्वयं संरक्षण मोड सहित यूरेका की लचीलापन सुविधाओं का उपयोग करने का प्रयास करना है। हालांकि, थ्रेसहोल्ड को कम करके, यह केवल आत्म-संरक्षण मोड को जोड़ने से बचाता है और एक बार यह व्यस्त होने के बाद भी, यह 15+ घंटों के बाद मृत उदाहरणों को स्पष्ट नहीं करेगा। मुझे विश्वास नहीं है कि सीमा का वर्णन वर्णित कारणों के लिए मुद्दा है। क्या कुछ अन्य विन्यास हैं जो आत्म-संरक्षण मोड को रीसेट करने और अंततः मृत उदाहरणों को साफ़ करने की अनुमति देंगे? – restwzeasy

1

यहां तक ​​कि एक पुराना सवाल भी कठिन है, यहां मेरे दो सेंट हैं।

मेरे आशा व्यक्त की कि सीमा लगातार समायोजित किया जाता है था और समय की कुछ अवधि के बाद , यूरेका के सीमा एक नया आदर्श स्तर पर हो सकता है और आत्मरक्षा मोड रीसेट किया जाएगा।

गलत धारणा। यूरेका आत्म-संरक्षण कभी समाप्त नहीं होता है और दहलीज गतिशील रूप से समायोजित नहीं होते हैं। इस राज्य से दूर जाने के लिए आपको नीचे वीएम/क्लाइंट (ताकि कुल मिलाकर> 85% ग्राहक यूपी हैं) वापस लेना होगा।

मुझे विश्वास है कि इसे बंद करने के लिए यह समझ में आता है - conclusions here और इसी तरह के question here पर एक नज़र डालें।

+0

उत्पादन में आत्म संरक्षण मोड को अक्षम करने की अनुशंसा नहीं की जाती है। एक चूक दिल की धड़कन और एक स्वस्थ उदाहरण रजिस्ट्री से हटा दिया जाता है। अच्छा विचार नहीं। –

+0

आप सही @ नरेंद्र-चौधरी नहीं हैं। एक चूक दिल की धड़कन एक उदाहरण बेदखल नहीं करता है। यदि दिल की धड़कन विफल हो जाती है, तो ग्राहक अधिकतम देरी तक 2 के कारक द्वारा तेजी से बैक-ऑफ बंद कर देते हैं। फिर सर्वर-सूची और सर्वर में अगले सर्वर पर फ़ॉल-बैक रजिस्ट्री जानकारी दोहराएं। –

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