मेसोस वातावरण में खोज सेवा करने के लिए दर्जन भर समाधान हैं।
क्लाइंट द्वारा सेवाओं को खोजने के तरीके के आधार पर हम उन्हें 3 समूहों में विभाजित कर सकते हैं:
- प्रॉक्सी आधारित
- जब क्लाइंट और सेवा के बीच प्रॉक्सी बैठता है, जैसे, HAProxy (मैराथन-एलबी इस पर आधारित है), fabio, traefik, nixy) जो HTTP पथ, हेडर, डोमेन आदि पर आधारित आपकी सेवाओं को लोड-बैलेंस करने का ख्याल रखता है। यह समाधान विकसित करना आसान है और अनुरोध के आधार पर लोड बैलेंसिंग को ट्यून करने का अवसर देता है। दूसरी ओर हम अतिरिक्त हॉप जोड़ते हैं और एक प्रॉक्सी के रूप में हमारे पास मिटएम स्थिति है।
- DNSlike (सेवा के स्थान के लिए विशेष प्रसिद्ध समापन बिंदु पूछें)
- सॉफ्टवेयर परिभाषित नेटवर्क - हम एसडीएन के साथ प्रति कंटेनर आईपी का उपयोग कर सकते हैं ताकि प्रत्येक कंटेनर अद्वितीय आईपी के साथ उजागर हो और HTTP के लिए डिफ़ॉल्ट पोर्ट 80, एचटीटीपीएस के लिए 443 आदि का उपयोग करके अपनी सेवाएं प्रस्तुत करे। यह सबसे उन्नत और अपेक्षाकृत नई तकनीक है, हालांकि यह सेवा आईपी खोजने के लिए सादे पुराने डीएनएस का उपयोग करता है। प्रॉक्सी को पेश करना कठिन हो सकता है लेकिन किसी भी प्रकार के ट्रैफ़िक के साथ काम करेगा।
- सेवा रिकॉर्ड - जहां प्रत्येक कंटेनर वैश्विक DNS में पंजीकृत है और क्लाइंट DNS SRV क्वेरी का उपयोग करके इसका IP और PORT प्राप्त करता है। कौंसुल मेसोस डीएनएस इस प्रकार का डीएनएस सर्वर प्रदान करता है। इसके अलावा कुछ अन्य प्रोटोकॉल इस विचार पर आधारित हैं (बोनजूर पर एक नज़र डालें)। यह एसडीएन और प्रॉक्सी दोनों का सर्वश्रेष्ठ प्राप्त करने का प्रयास करता है। इसे सेटअप करना अपेक्षाकृत आसान है और यह प्रोटोकॉल अज्ञेयवादी है।
- अन्य
- कुछ भी जो अन्य प्रकारों में फिट नहीं बैठता उदा। आंतरिक विकसित समाधान, आदि या यूरेका। यह कुछ अनुकूलन प्रदान करने वाले बुनियादी ढांचे और अनुप्रयोग के साथ गहराई से तंग हो सकता है। यह उल्लेखनीय है कि डीएचटी आधारित खोज सेवा का उपयोग करने के कुछ प्रयास हैं - मेटा सर्विस डिस्कवरी
आप उन टूल के बारे में अधिक जानकारी प्राप्त कर सकते हैं जिनका उपयोग डिस्कवरी सेवा बनाने के लिए यहां किया जा सकता है
हम डिस्कवरी सेवाओं को सेवा प्रविष्टियों से भरे हुए तरीके से विभाजित कर सकते हैं:
- पूलिंग
- मेसोस/मैराथन से राज्य के बारे में समय-समय पर पूछताछ की जाती है। मेसोस डीएनएस इस प्रकार काम कर रहा है। यह सबसे आसान तरीका है, लेकिन सेवा शुरू/बंद होने और सेवा खोज में परिवर्तन के बीच भारी देरी का कारण होगा। स्वास्थ्य जांच का उपयोग करके इसे कम किया जा सकता है।
- घटना आधारित
- मैराथन में राज्य परिवर्तनों के बारे में जानकारी के साथ घटनाओं को आगे बढ़ाने की क्षमता है (इवेंट बस int Mesos को भी शामिल करने की पहल है - डिज़ाइन डॉक्टर। इस तरह मैराथन-एलबी काम कर रहा है। इसी तरह का काम मैराथन-कंसल द्वारा किया जाता है लेकिन डेटा पास किया जाता है कौंसुल।
- ऐप/कंटेनर में
- उपरोक्त समाधान एसिंक्रोनस हैं इसलिए एक समय अवधि हो सकती है जब आपकी सेवा खोज स्थिति पुरानी हो उदा। सेवा शुरू हो गई है लेकिन अनुरोधों को पूरा करने के लिए तैयार नहीं है, या सेवा अभी मर गई है। स्वास्थ्य जांच के साथ भी हम यह नहीं मान सकते कि सभी चीजें 0 डाउनटाइम के साथ होती हैं। डाउनटाइम को कम करने का समाधान यह है कि एप्लिकेशन को अनुरोधों को पूरा करने के लिए तैयार होने पर खुद को पंजीकृत करने दें, और इसके रुकने से पहले पंजीकरण रद्द करें (उर्फ ग्रेसफुल शटडाउन)।