2016-05-06 6 views
5

में एक सरल माइक्रोस्कोप आर्किटेक्चर कैसे सेट अप करें मैंने ऐप इंजन में सफलतापूर्वक एक ऐप सेटअप किया था। अब मैं 2-3 माइक्रो सेवा औरऐप इंजन

विषय पर कुछ लेख पढ़ना चाहता हूं लेकिन जो मैं वास्तव में चाहता हूं वह एक साधारण ट्यूटोरियल है।

https://cloud.google.com/appengine/docs/python/modules/converting

किसी को भी एक साधारण फ़ाइल संरचना पोस्ट कर सकते हैं के रूप में कैसे यह करने के लिए:

  • app.yaml
  • micorservice1
    • फ़ोल्डर 1
      • lib1
      • lib2
    • folder2
    • HTMLs
    • js
    • सीएसएस
    • app1.py
  • micorservice2
    • फ़ोल्डर 1
      • lib1
      • lib2
    • folder2
    • HTMLs
    • js
    • सीएसएस
    • app2.py
  • index.yaml

लेकिन ऐप.मैम में क्या है?

मैं प्रत्येक माइक्रोस्कोप को बिल्कुल कैसे तैनात करूं?

माइक्रोस्कोप के बीच केवल आंतरिक संचार को सक्षम कैसे करें? मैं सीधे उन पर बाहरी कॉल नहीं चाहता लेकिन लोड बैलेंसर के माध्यम से।

+0

डैन कॉर्निलेस्कू ने इस प्रश्न का एक सभ्य उत्तर दिया।"मॉड्यूल" को अब "सेवाएं" कहा जाता है, लेकिन उनका जवाब एक नामकरण परिवर्तन के अलावा लागू है। स्टैक ओवरफ़्लो के लिए इस प्रकार का थ्रेड * ऑफ-विषय है, इसलिए आपको इस तरह कुछ ऐसा करना चाहिए [ऐप इंजन के लिए Google समूह फ़ोरम] (https://groups.google.com/forum/#!forum/google- एपेंगिन), जहां सामान्य, उच्च स्तरीय, आर्किटेक्चर-स्टाइल सलाह विषय पर है (ध्यान दें कि स्टैक ओवरफ्लो शैली तकनीकी प्रश्न विषय-वस्तु * यहां * और ऑफ-विषय हैं)। – Nick

उत्तर

1

वर्ष 2018 के रूप में आप एक परियोजना के भीतर कई सेवाओं बना सकते हैं:

यह एक आधार microservice है। ये सेवाएं माइक्रो-सर्विसेज के अलावा कुछ भी नहीं हैं। इससे पहले जीसीपी में सूक्ष्म सेवाओं के लिए मॉड्यूल की अवधारणा थी।

उदाहरण के लिए: कस्टम
env:: फ्लेक्स

का उपयोग कर तैनात किया जा सकता आदेश:
gcloud एप्लिकेशन तैनाती

क्रम के रूप में app.yaml साथ

एक GAE लचीला आवेदन

यह आदेश एक शुरू होगा सेवा के साथ 'डिफ़ॉल्ट' के साथ सेवा के साथ। इसे यूआरएल के माध्यम से पहुंचा जा सकता है ->http://your-project-id.appspot.com
आप इसे Google क्लाउड कंसोल पर सत्यापित कर सकते हैं। नाविक का पालन करें App इंजन लिंक -> सेवाएं

इसी तरह आप (अतिरिक्त पैरामीटर - सेवा) के रूप में app.yaml साथ ही परियोजना में एक और सेवा शुरू कर सकते हैं

क्रम: कस्टम
env: फ्लेक्स
सेवा : अपने-सेवा-आईडी

यह फिर से एक ही आदेश का उपयोग कर तैनात किया जा सकता:
gcloud एप्लिकेशन को तैनात

यह सेवा आईडी के साथ आपकी सेवा-आईडी के रूप में एक नया एप्लिकेशन शुरू करेगा। सेवा यूआरएल के माध्यम से पहुंचा जा सकता है: http://your-service-id-dot-your-project-id.appspot.com या http://your-service-id.our-project-id.appspot.com

उसी प्रोजेक्ट में और सेवाएं बनाने के लिए एक ही दृष्टिकोण का पालन करें। प्रत्येक सेवा अपने स्वयं के ऐप के साथ एक एप्लिकेशन है। Yaml

4

ट्यूटोरियल के लिए पूछ इतने पर विषय से हटकर है;)

Microservices आसानी से मॉड्यूल के रूप में लागू किया जा सकता।

यह क्यू & अपने dir संरचना अनुसंधान में एक पराक्रम मदद - New project structure for Google App Engine

प्रत्येक मॉड्यूल का अपना .yaml कॉन्फ़िग फ़ाइल, जो सामग्री के मॉड्यूल करने के लिए माना जाता है क्या पर निर्भर करता है है।परंपरागत रूप से (एकल मॉड्यूल क्षुधा) फ़ाइल नामित किया गया था जबकि app.yaml कि नाम वास्तव में अनिवार्य नहीं है: Can a default service/module in a Google App Engine app be a sibling of a non-default one in terms of folder structure?

प्रत्येक मॉड्यूल एक अलग इंस्टेंस के रूप में चलाया जाएगा। बहु-मॉड्यूल ऐप्स में तैनाती तैनाती उपयोगिता पर तैनात मॉड्यूल (ओं) की .yaml फ़ाइल (ओं) निर्दिष्ट करके किया जाता है। ऊपर उल्लिखित पद के मेरे उत्तर में आपके पास एक उदाहरण है।

इंटर-मॉड्यूल संचार आसानी से कार्यान्वित किया जा सकता है, उदाहरण के लिए कार्य कतार का उपयोग करना। जिसे केवल आंतरिक पहुंच के लिए सुरक्षित किया जा सकता है: GAE task, are the urls secure by design?

0

मुझे लगता है कि आप आसानी से डॉकर और डॉकर कंपोज़ का उपयोग कर एक सरल माइक्रोस्कोर्सेस बना सकते हैं।

rootproject 
| 
--- service 1 
| 
--- service 2 
| 
--- monitor 
| 
--- docker-compose.yml 

डोकर नेटवर्क मदद कर सकते हैं या सामने नेटवर्क (बाहरी संचार के लिए) (आंतरिक संचार के लिए) नेटवर्क वापस परिभाषित करता है:

एक उदाहरण निर्देशिका संरचना देखें। डॉकर नेटवर्क आपको संतुलन लोड करने या सेवाओं को स्केल करने में भी मदद करता है। https://github.com/thanhson1085/bean-seed