मैं विकासशील सूक्ष्मजीवियों के लिए नया हूं, हालांकि मैं इसके बारे में थोड़ी देर के लिए शोध कर रहा हूं, स्प्रिंग के डॉक्स और नेटफ्लिक्स दोनों को पढ़ रहा हूं।
मैंने जीथब पर उपलब्ध एक साधारण परियोजना शुरू की है । यह मूल रूप से यूरेका सर्वर (आर्किमिडीज) और तीन यूरेका क्लाइंट माइक्रोसर्विसेज (एक सार्वजनिक एपीआई और दो निजी) हैं। विस्तृत विवरण के लिए गितूब की रीडमी की जाँच करें।
मुद्दा यह है कि जब सब कुछ चल रहा है, तो मैं चाहूंगा कि यदि निजी माइक्रोसर्विस में से एक को मार दिया जाए, तो यूरेका सर्वर को एहसास होता है और इसे रजिस्ट्री से हटा देता है।
मैंने Stackoverflow पर यह प्रश्न पाया , और समाधान enableSelfPreservation:false
यूरेका सर्वर कॉन्फिगरेशन का उपयोग करके गुजरता है । थोड़ी देर के बाद ऐसा करने से मार दी गई सेवा उम्मीद के मुताबिक गायब हो जाती है।
हालाँकि मैं निम्नलिखित संदेश देख सकता हूँ:
SELF PRESERVATION MODE को बंद कर दिया गया है। नेटवर्क्स / अन्य प्रोब्लम के मामले में किसी भी तरह का इन्स्टीट्यूशन एक्सपोर्ट नहीं किया जा सकता है।
1. स्व संरक्षण का उद्देश्य क्या है? डॉक कहा गया है कि पर आत्म संरक्षण के साथ "ग्राहकों उदाहरणों कि अब मौजूद नहीं है प्राप्त कर सकते हैं" । तो यह कब चालू / बंद करना उचित है?
इसके अलावा, जब आत्म संरक्षण चालू है, तो आपको यूरेका सर्वर कंसोल चेतावनी में एक उत्कृष्ट संदेश मिल सकता है:
आपातकालीन! यूरेका ने उत्तर प्रदेश में अवैध रूप से सीलिंग कर रहे हैं, जब वे नहीं थे। रेनसमूह इस साल से कम हैं और INSTANCES सुरक्षित होने के लिए केवल अपेक्षित नहीं हैं।
अब, स्प्रिंग यूरेका कंसोल के साथ चल रहा है।
Lease expiration enabled true/false
Renews threshold 5
Renews (last min) 4
मैं थ्रेशोल्ड काउंट का एक अजीब व्यवहार भर में आया हूं: जब मैं अकेले यूरेका सर्वर शुरू करता हूं, तो थ्रेशोल्ड 1 है।
2. मेरे पास एक एकल यूरेका सर्वर है और registerWithEureka: false
इसे दूसरे सर्वर पर पंजीकृत होने से रोकने के लिए कॉन्फ़िगर किया गया है। फिर, यह दहलीज की गिनती में क्यों दिखाई देता है?
3. हर ग्राहक के लिए मैं थ्रेशोल्ड काउंट +2 से बढ़ाता हूं। मुझे लगता है कि यह है क्योंकि वे प्रति मिनट 2 नवीनीकृत संदेश भेजते हैं, क्या मैं सही हूं?
4. यूरेका सर्वर कभी भी रिन्यू नहीं भेजता है इसलिए अंतिम मिनिमम रिन्यूअल हमेशा दहलीज के नीचे होता है। क्या यह सामान्य है?
renew threshold 5
rewnews last min: (client1) +2 + (client2) +2 -> 4
सर्वर cfg:
server:
port: ${PORT:8761}
eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
enableSelfPreservation: false
# waitTimeInMsWhenSyncEmpty: 0
ग्राहक 1 cfg:
spring:
application:
name: random-image-microservice
server:
port: 9999
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
healthcheck:
enabled: true