अपने आर्किटेक्चर के आधार पर, आप कोरओस (https://github.com/weaveworks/weave) के साथ वीव जैसे कुछ वास्तव में अच्छे सॉफ़्टवेयर का उपयोग कर सकते हैं। हम अपने अनुप्रयोगों को कोरोस नोड्स पर वितरित करने के लिए डॉकर का उपयोग कर रहे हैं, और फिर आंतरिक DNS को वेव द्वारा नियंत्रित किया जाता है।
यह वास्तव में बहुत अच्छा है क्योंकि हम अनुरोध को बंदरगाह के साथ एप्लिकेशन नाम के माध्यम से अनुरोध भेज सकते हैं, और फिर हम बंद और दूर हैं।
उदाहरण के लिए, एक उपयोगकर्ता अनुरोधों
हमारा प्रवेश द्वार नोड के साथ लागू किया गया था application.com/api/apiName/request/path।जेएस, और यह apiName के बाद/api को उस एपीआई पर रूट करने के लिए ले जाता है, और फिर यूआरएल के निम्नलिखित पथ को कॉल में जोड़ने के लिए।
तो गेटवे से अनुरोध को आंतरिक रूप से apiName: 8080/अनुरोध/पथ के रूप में प्रॉक्सी किया जाएगा। उस संबंध में, एपीआई को नई सेवाओं के आने पर कोई बदलाव की आवश्यकता नहीं होती है, क्योंकि पथ आपके अनुरोध से गतिशील रूप से बनाया जाता है।
यह बहुत अच्छा है क्योंकि हमें अलग-अलग एपीआई के पथों को ट्रैक करने और कहीं उन्हें संग्रहीत करने की चिंता करने की आवश्यकता नहीं है।
यदि ऐसा नहीं है, तो आपको अपने लिए आसान बनाने के लिए एंडपॉइंट्स की कुछ (शायद बाहरी) सूची को बनाए रखना होगा। यह एपीआई के स्वयं से प्रोग्रामेटिक रूप से किया जा सकता है।
मुझे यकीन नहीं है कि आपकी आवश्यकताओं क्या हैं, और जैसा कि विल ने उत्तर दिया है, यह एक बहुत बड़ी बुनियादी ढांचा लागत लेता है। हालांकि, हमारी रिलीज तेज और दर्द रहित हैं क्योंकि हमें कई परतों में कोड परिवर्तन करने की चिंता करने की आवश्यकता नहीं है, और नए एपीआई को हमारे गेटवे प्रॉक्सीइंग, लॉगिंग और प्रमाणीकरण मुफ्त में मिलता है।
एपीआई गेटवे एक सुरक्षित प्रॉक्सी + लॉगिंग की तरह कार्य करता है। आप अपनी 'उत्पाद' सेवा पर यूआरएल पास कर सकते हैं जिसे आप एक्सेस करना चाहते हैं और गेटवे इसे प्रॉक्सी करेगा। – sed