कैसे करने के लिए: लोचदार कंटेनर सेवा पर MongoDB प्रतिकृति Dockerized


10

मेरे पास AWS ECS पर चलने वाले MongoDB डेटाबेस के साथ एक Node.js ऐप है। वर्तमान में मुझे जो सेटअप मिला है वह 2 ELB और 2 इंस्टेंस से बना है जो प्रत्येक डॉकटर कंटेनर को उसकी निर्दिष्ट सेवा (नोड / मोंगो) के साथ चला रहा है:

Elastic Load Balancer -> Dockerized Node -> Elastic Load Balancer -> Dockerized MongoDB

मैं यहां उपलब्ध MongoDB के लिए आधिकारिक डॉकर छवि चला रहा हूं: https://registry.hub.docker.com/_/mongo/

किसी भी संकेत के रूप में मैं कैसे डॉकटर और ईसीएस का उपयोग करके मोंगोडीबी के लिए एक प्रतिकृति तैनात करने में सक्षम होऊंगा, प्रत्येक प्रतिकृति एक अलग उदाहरण पर चल रही है?

जवाबों:


2

डेटाबेस मत करो। डॉकटर कंटेनरों को पंचांग माना जाता है और डेटा धारण नहीं किया जाता है। यह डेटाबेस के लिए उपयुक्त नहीं है।

विशेष रूप से, एक MongoDB क्लस्टर को डॉकटराइज़ करने का प्रयास न करें । प्रतिकृति सेट के लिए सेटअप बेहद स्टेटफुल और जटिल है। आपको कई आदेशों को केवल एक बार और क्रम में चलाना होगा । यदि आपको कोई कमांड याद आती है या यदि नोड बंद हो जाता है, तो पूरा क्लस्टर लॉक हो सकता है और आपको शुरू करने के लिए मजबूर होना पड़ेगा।

डॉकर का अपना विचार है कि अनुप्रयोगों को कैसे व्यवहार करना चाहिए। डॉकटर के अंदर उस काम को करना वास्तव में मुश्किल होगा।

यदि आप 3 प्रतिकृतियों के साथ एक क्लस्टर चाहते हैं, तो आपको 3 AWS इंस्टेंसेस और सेटअप MongoDB इंस्टेंसेस पर प्राप्त करना चाहिए। mongodb setting up a replica set on <OS>Google पर खोजें , जो आपको अप टू डेट ट्यूटोरियल देगा।


2

फायरकैम्प करता है। FireCamp AWS ECS पर एक MongoDB प्रतिकृति को बहुत आसानी से तैनात कर सकता है। 1) क्लाउड टेम्प्लेट के साथ ईसीएस क्लस्टर को तैनात करें, 2) एक एकल कमांड द्वारा MongoDB ReplicaSet को तैनात करें। विवरण के लिए FireCamp स्थापना विकी की जाँच करें ।

सुरक्षा के लिए, NCS.js ऐप को किसी अन्य ECS क्लस्टर में चलाना बेहतर है। EC2 उदाहरण जो MongoDB चलाते हैं बाहरी दुनिया के सामने नहीं आने चाहिए।

MongoDB प्रतिकृति तक पहुंचने के लिए Node.js ऐप के लिए इलास्टिक लोड बैलेंसर की आवश्यकता नहीं है। प्रत्येक प्रतिकृति को एक अद्वितीय डीएनएस नाम मिलता है। Node.js ऐप केवल dns नाम से MongoDB तक पहुंच सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.