/ / एक ही सर्वर पर MongoDB और Redis सेट करें - node.js, mongodb, आर्किटेक्चर, redis

एक ही सर्वर पर MongoDB और Redis सेट करें - node.js, mongodb, वास्तुकला, redis

वर्तमान में मेरे पास एक साधारण एपीआई सर्वर का उपयोग करना हैNode.js और MongoDB लेकिन कैशिंग अनुरोधों के लिए रेडिस को शामिल करना शुरू करना चाहते हैं। क्या मोंगोडीबी सर्वर के रूप में उसी मशीन पर रेडिस उदाहरण स्थापित करना बुरा व्यवहार है? क्या कोई रेडिस सेटअप समस्याएं हैं जिनके बारे में मुझे पता होना चाहिए कि क्या मैं भविष्य में MongoDB सर्वर को स्केल करने के लिए था?

उत्तर:

उत्तर № 1 के लिए 4

जबकि Redis और MongoDB वास्तव में एक अच्छा संयोजन हैं, उन्हें उसी नोड पर स्थापित नहीं किया जाना चाहिए, खासकर अगर MongoDB डेटाबेस स्मृति में फिट नहीं होता है।

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

दूसरी ओर, रेडिस सिंगल-थ्रेडेड हैमेमोरी डेटा स्टोर, जिनकी डेटा संरचनाएं यादृच्छिक मेमोरी एक्सेस के लिए ट्यून की जाती हैं। सब कुछ स्मृति में फिट होना चाहिए। यदि मेजबान कुछ रेडिस मेमोरी को स्वैप करना शुरू कर देता है तो इसका प्रदर्शन लाजिमी होगा

यदि आप दोनों को एक ही मेजबान पर रखते हैं, तो MongoDBमशीन स्वैप करें, और Redis अब उत्तरदायी नहीं होगा। मशीन की मेमोरी खाने के लिए MongoDB को रोकने के लिए cgroups (या एक समान अलगाव तंत्र) का उपयोग करने के लिए समस्या को हल करने का एक तरीका होगा, लेकिन यह कॉन्फ़िगरेशन को अधिक जटिल बनाता है। मेरा सुझाव यह नहीं होगा।


जवाब के लिए 0 № 2

Thw सबसे बड़ी समस्या आपको मिल सकती है संसाधन हैअपने काम के सेट के लिए पेज डेटा के लिए MongoDB के बीच विवाद और redis उसी स्मृति पतों का उपयोग करना चाहते हैं जैसे ओएस उन पृष्ठों को असाइन करेगा।

अपने स्वयं के अनुभव से मैंने रेडिस और किया हैMongoDB एक-दूसरे के साथ-साथ चल रहे हैं, लेकिन मुझे इस बात पर ज़ोर देना चाहिए कि जिस कारण से उन्होंने एक साथ काम किया, वह मेरे MongoDB काम करने वाले सेट और डेटा की मात्रा के कारण था जो मैं रेडिस में संग्रहीत कर रहा था।

मैं यह कह रहा हूं कि यह सब आप पर निर्भर करता हैधातु के साथ दो का उपयोग आप उन्हें चलाते हैं। यदि आप पाते हैं कि आप एक-दूसरे को स्टोर करने के लिए रेडियों का उपयोग कर रहे हैं और फिर MongoDB में आपका काम करने का सेट बड़ा है, तो कहें, एक छोटा सर्वर तो आप अच्छी तरह से दोनों को एक दूसरे से टकरा सकते हैं लेकिन यदि आप अपने RAM में पर्याप्त जगह छोड़ते हैं दो खुशी से एक दूसरे के बगल में बैठें तो यह बहुत अधिक समस्या नहीं होनी चाहिए।