जिस तरह से हम यह करते हैं कि हमारे पास हर चलने वाले एप्लिकेशन के लिए 3 टुकड़े (या कलाकृतियां) हैं।
- जिस एप्लिकेशन को हम विकसित कर रहे हैं। पर्यावरण की परवाह किए बिना यह वही है। अपने उदाहरण से मिलान करने के लिए, यह जार / युद्ध के रूप में स्प्रिंग एप्लिकेशन होगा।
- कंटेनर जो एप्लिकेशन चलाएगा। पर्यावरण की परवाह किए बिना यह वही है। यदि स्प्रिंग बूट का उपयोग कर रहे हैं, तो आपको टॉमकैट की आवश्यकता नहीं है और सिर्फ जावा रनटाइम। इसलिए Openjdk Docker कंटेनर का उपयोग करें।
- आवेदन की जरूरत है कि विन्यास। यह केवल एक चीज है जो पूरे वातावरण में भिन्न है। एक स्प्रिंग ऐप में, आप संभवतः एक गुण फ़ाइल का उपयोग कर रहे हैं।
कॉन्फ़िगरेशन फ़ाइल एक अलग स्रोत नियंत्रण में रहती है। यह Git हुआ करता था, लेकिन अब हम http://www.configapp.com पर कॉन्फ़िगर नामक एक SaS का उपयोग कर रहे हैं । कॉन्फ़िगरेशन की मुख्य विशेषता पर्यावरण विशिष्ट कॉन्फ़िगरेशन की आसान हैंडलिंग है। एक नए सर्वर पर हमारे एप्लिकेशन को चलाने के लिए, हम डॉकर कंटेनर, एप्लिकेशन विरूपण साक्ष्य और उस वातावरण के लिए कॉन्फ़िगरेशन फ़ाइल खींचते हैं। कंटेनर में, हम उस निर्देशिका को माउंट करते हैं जहां एप्लिकेशन और कॉन्फ़िगरेशन फ़ाइल संग्रहीत होती है, कंटेनर के भाग के रूप में। हमारा आवेदन समान है। हमारे कंटेनर / छवि समान है। केवल कॉन्फ़िगरेशन फ़ाइल अलग है।
कॉन्फ़िगरेशन फ़ाइल बनाम पर्यावरण चर के बारे में। सबसे लंबे समय तक हम कॉन्फ़िगरेशन फ़ाइलों का उपयोग कर रहे थे। जब हमने PaaS / क्लाउड का उपयोग किया, तो हमने पर्यावरण चर का उपयोग किया। यदि आपके पास बहुत अधिक कॉन्फ़िगरेशन है तो यह अतिरिक्त काम था इसलिए हमने सही कॉन्फ़िगरेशन फ़ाइल को निर्धारित करने के लिए पर्यावरण चर का उपयोग करके समाप्त कर दिया। हमारे पास एक ऐसा अनुप्रयोग है जिसने पर्यावरण चर के गुणों को बदल दिया है, लेकिन यह असामान्य है। यदि हमारे पास केंद्रीकृत कॉन्फ़िगरेशन सर्वर स्वीकृत कंपनी है, तो हम इसका उपयोग करते हैं, अन्यथा हमें कॉन्फ़िगरेशन फ़ाइलों की सादगी पसंद है।
इसलिए संक्षेप में, हम app.jar, app.properties, openjdk Docker खींचते हैं। फिर हम app.jar और app.properties के स्थान बढ़ते Openjdk Docker चलाते हैं। केवल एक चीज पर्यावरण विशिष्ट app.properties है। App.properties को आसानी से प्रबंधित करने के लिए, चाहे कितनी भी प्रॉपर्टी कीज़, वातावरण, क्लस्टर / रीजन इंस्टेंसेस हों, हम कॉन्फ़िग का उपयोग करते हैं।