MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Azure VM पर MongoDb से कनेक्शन टाइमआउट

यहाँ कुछ खोज करने के बाद मेरे विचार:

  • आमतौर पर Azure (डेटाबेस, VM, ...) पर आपके द्वारा एक्सेस किए जाने वाले प्रत्येक संसाधन पर किसी प्रकार के पुन:प्रयास तर्क को लागू करना एक अच्छा अभ्यास है। मोंगोडीबी के लिए आंशिक कार्यान्वयन है, इसलिए आपको संभावित रूप से अपना खुद का लिखना चाहिए। यह भी देखें यह समस्या और यह
  • यदि संभव हो तो Azure पर सभी संसाधन एक ही Azure वर्चुअल नेटवर्क में होने चाहिए (इस तरह सभी कनेक्शन सार्वजनिक Ip के बजाय Azure Private Ip का उपयोग करके बनाए जाते हैं। यह सुरक्षा कारणों से भी उपयोगी है क्योंकि आपको समापन बिंदु खोलने की आवश्यकता नहीं है जनता के लिए।
  • Azure पर MongoDb परिनियोजित करते समय आधिकारिक MongoDb दिशानिर्देशों .
  • इस विशेष मामले में आपको net.ipv4.tcp_keepalive_time सेट करना चाहिए tcp से कम मान के लिए Azure को जीवित रखें, जो कि डिफ़ॉल्ट रूप से 240 सेकंड है। इस तरह कनेक्शन बंद हो जाता है और MongoDb ड्राइवर इस स्थिति को इंटरसेप्ट कर सकता है और एक नया कनेक्शन खोल सकता है। यदि कनेक्शन Azure द्वारा बंद कर दिया गया है, तो ड्राइवर इसे इंटरसेप्ट नहीं कर सकता है। यदि आप Azure पर इस सेटिंग को बदलना चाहते हैं (अनुशंसित नहीं) तो आप इसे सार्वजनिक आईपी कॉन्फ़िगरेशन के अंदर पा सकते हैं।

अपने विकास के माहौल में मैंने net.ipv4.tcp_keepalive_time सेट किया है 120 तक और अब सब कुछ ठीक काम करने लगता है। विचार करें कि यदि आप डॉकर कंटेनर के अंदर MondoDb होस्ट करते हैं तो आपको यह सेटिंग डॉकर होस्ट पर सेट करनी चाहिए।

यहां कुछ अन्य उपयोगी लिंक हैं:



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB समुच्चय () - त्रुटि लेखन त्रुटि:अपरिभाषित की 'प्रत्येक के लिए' विधि को कॉल नहीं कर सकता

  2. Grails MongoDB प्लगइन स्थापित नहीं कर सकता

  3. Node.js और पासपोर्ट ऑब्जेक्ट की कोई विधि मान्यपासवर्ड नहीं है

  4. MongoDB:जावा ड्राइवर के माध्यम से एक प्रमाणित डीबी कैसे बनाएं?

  5. PHP में MongoDB _id द्वारा समूह में कुल मिलाकर काम नहीं कर रहा है