2017-01-22 13 views
7

पर माइक्रोस्कोप को कैसे तैनात किया जाए मैंने माइक्रोस्कोप के बारे में बहुत कुछ पढ़ा है, और उस दृष्टिकोण के साथ अपना ऐप बनाना चाहता हूं। क्या मैं अब तक पता है कि मैं जैसे कुछ सेवाओं nead है:हेरोकू

  • लोड संतुलन - प्रत्येक अनुरोध के साथ सौदा है, और दूसरा सेवाओं के लिए आगे धक्का
  • प्राधिकरण सेवा के लिए - मेरी उन अधिकृत करने के लिए
  • डेटाबेस - मेरे माइक्रोस्कोर्सेस के लिए। मैं प्रत्येक सेवा के लिए अलग-अलग स्कीमा के साथ डीबी के एक उदाहरण का उपयोग करना चाहता हूं।
  • सेवा एक - कार्यक्षमता के लिए एक
  • सेवा बी - कार्यक्षमता बी के लिए

  • आदि आदि आदि

मुझे पता चला, कि Heroku दिलचस्प जगह है आवेदन तैनात करने के लिए। मेरी समस्या यह है कि मैं पूरी तरह से विचारधारा को समझ नहीं पा रहा हूं। क्या मैं अब तक किया है, कुछ "एप्स" के निर्माण/पंजीकरण है:

  • मेरी एप्लिकेशन के तहत लेखन
  • मेरी एप्लिकेशन के लोड संतुलन
  • आदि आदि

मुझे लगता है कि हेरोोकू मुझे उस ऐप के लिए कुछ सार्वजनिक होस्टनाम देता है, और यही वह जगह है जहां मेरी चिंताओं शुरू होती है। क्या मुझे सार्वजनिक होस्टनामों के साथ अपनी आंतरिक सेवाओं को तैनात करना चाहिए? मुझे ऐसा नहीं लगता। और यहां मेरा प्रश्न आता है:

क्या कोई मुझे कुछ दिशानिर्देश प्रदान कर सकता है, हेरोोकू पर माइक्रोस्कोप से निपटने के लिए कैसे? मुझे उन्हें कैसे तैनात करना चाहिए? मुझे अपने लोड बैलेंसर को कैसे परिभाषित करना चाहिए, और इसमें आंतरिक सेवाओं को हुक करना चाहिए? जेएचप्स्टर क्या है? क्या मुझे इसकी ज़रूरत है? मुझे इसे कैसे प्रयोग में लाना है? क्या मुझे हेरोकू टूल्स (उदाहरण के लिए सीएलआई) का उपयोग करना चाहिए या क्या मैं अपने गिटलैब रेपो के साथ रह सकता हूं? मुझे इंटरनेट पर समझने का कोई मतलब नहीं मिल रहा है।

+0

ऐसा लगता है कि आपके पास कुछ चीजें मिश्रित हैं (हेरोकू और गिटलैब विभिन्न प्रकार की कंपनी हैं, एक आपका वेबपैप होस्ट करता है और दूसरा आपका कोड/सीआई होस्ट करता है)। इसके अलावा, यदि आप निश्चित नहीं हैं कि जेएचप्स्टर क्या है, तो मैं इसके साथ माइक्रोस्कोर्सेस उत्पन्न करने से पहले दस्तावेज़ों को पढ़ने की सलाह दूंगा। हेरोोकू पर जेएचप्स्टर माइक्रोस्कोपिस को तैनात करने वाला एक लेख यहां दिया गया है: https://blog.heroku.com/bootstrapping_your_microservices_architecture_with_jhipster_and_spring –

उत्तर

13

हेरोकू एक बहुत ही सरल प्लेटफार्म-ए-ए-सर्विस कंपनी है। जिस तरह से हेरोकू काम करता है वह बहुत सरल है:

  • आपके पास गिट रेपो में कई परियोजनाएं (सेवाएं) हैं।
  • आप प्रत्येक प्रोजेक्ट (प्रत्येक गिट रेपो) के लिए एक हेरोकू ऐप बनाते हैं।
  • फिर आप अपने कोड को प्रत्येक गिट रेपो से अपने संबंधित हेरोकू ऐप पर दबाएं।
  • हेरोोकू आपके पास प्रत्येक ऐप के लिए एक सार्वजनिक यूआरएल असाइन करता है।
  • यदि आपकी प्रत्येक सेवा अब हेरोकू पर चल रही है, तो वे एक दूसरे को सार्वजनिक HTTP पर एपीआई अनुरोध भेज सकते हैं।

अब - हेरोोकू पर सेवा उन्मुख वास्तुकला के बारे में आपके प्रश्न के बारे में।

यदि आप हेरोोकू पर एसओए कर रहे हैं, तो आपको प्रत्येक सेवा को एचटीटीपीएस पर एक दूसरे के साथ सार्वजनिक रूप से बात करने की आवश्यकता होगी। यह ठेठ 'पैटर्न' है।

क्योंकि हरोकू प्रत्येक एप्लिकेशन के लिए मुफ्त SSL प्रदान करता है, और प्रत्येक एप्लिकेशन एक ही अमेज़ॅन क्षेत्र पर है - HTTP पर आपकी सेवाओं के बीच बैक-चौथाई बात करना बहुत तेज़ + सुरक्षित है।

प्रत्येक हेरोकू ऐप में स्वत: लोड संतुलन होता है, इसलिए लोड बैलेंसर्स के बारे में चिंता करने की आवश्यकता नहीं होती है।

अगला विकल्प यहां (यदि आप ठेठ पैटर्न का पालन नहीं करना चाहते हैं) तो RabbitMQ या Amazon SQS (एक क्यूइंग सेवा) जैसे कुछ का उपयोग करना है, और अपनी अलग-अलग सेवाओं के बीच 'संदेश' साझा करना है।

इस पैटर्न में, आपके पास अभी भी प्रत्येक सेवा के लिए एक हेरोकू ऐप होगा, लेकिन HTTP पर एक दूसरे के साथ संवाद करने की बजाय, आप अपनी अन्य सेवाओं के साथ खरगोश या एसक्यूएस जैसे क्यूईंग प्रोटोकॉल के माध्यम से संवाद करेंगे। इसमें कुछ गति लाभ हैं।

प्रमाणीकरण सेवाओं के संबंध में, इस कार्यक्षमता प्रदान करने के लिए आप कई प्रदाता उपयोग कर सकते हैं। सबसे लोकप्रिय मुझे पता है कि Stormpath है। यदि आप Heroku addon marketplace देख रहे हैं, तो आप दूसरों को भी ढूंढ सकते हैं।

अंत में, डेटाबेस सामग्री के लिए: आप अपने इच्छित डेटाबेस प्रदाता का उपयोग कर सकते हैं। सबसे लोकप्रिय एक Heroku Postgres है। यह PostgreSQL की एक होस्टेड बनाम है जो बहुत विश्वसनीय/उपयोग करने में आसान है।

आप या तो अपनी सभी सेवाओं के बीच एक डेटाबेस साझा कर सकते हैं, या आपके पास प्रति सेवा एक डेटाबेस हो सकता है। या तो रणनीति ठीक काम करेगी।

+0

आपके उत्तर के लिए बड़ा धन्यवाद। क्या आप इसे विस्तारित कर सकते हैं और मुझे बता सकते हैं कि आप उसके दस्तावेज़ में डेटा डॉकर छवियों का उपयोग करने के बारे में क्या सोचते हैं? यदि यह आम नहीं है (क्योंकि हेरोकू अच्छी स्केलिंग तंत्र प्रदान करता है) इंटरनेट के आसपास इतनी सारी जानकारी और लेख क्यों हैं? अगर मैं यूरेका या जुउल जैसे नेटफ्लिक्स समाधानों के बारे में आपका मन जान सकता हूं तो भी मैं वास्तव में खुश रहूंगा। मुझे लगता है कि यूरेका मेरी सेवाओं के लिए प्रवेश बिंदु के रूप में आम है, लेकिन जहां तक ​​मुझे लगता है कि लोड बैलेंसर ओवरहेड है, क्या मैं सही हूँ? –

+1

अरे, मुझे लगता है कि ये अन्य StackOverflow प्रश्नों के लिए सबसे उपयुक्त हैं। अगर मैं इस धागे में सब कुछ डालता हूं तो यह पाठकों को भ्रमित करेगा। – rdegges

+0

आप सही हैं। मैंने नया प्रश्न http://stackoverflow.com/q/41814001/2849613 जोड़ा है। यदि आप चाहें तो एक नज़र डालें;) –