जब Redis विफल रहता है तो Magento कैश को बंद क्यों नहीं कर सकती


9

मैं Magento 1.9.0.1 के साथ काम कर रहा हूं, और हर अब और फिर से हमारे Redis सर्वर जो Magento कैश की मेजबानी करते हैं, (AWS ElastiCache) नीचे जाएंगे। जब ऐसा होता है, Magento के फेटली की त्रुटियां तब तक होती हैं जब तक कि Redis फिर से उपलब्ध नहीं होता।

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

मुझे किसी भी सेटिंग या किसी भी मॉड्यूल के बारे में पता नहीं है जो Magento को यह क्षमता देता है, लेकिन सतह पर यह मुश्किल नहीं लगता है। Magento local.xmlडेटाबेस से कनेक्ट करने के तरीके का पता लगाने के लिए उपयोग करती है, और कैश बैक करती है। यह तब डेटाबेस से जुड़ता है और कैश के विकल्पों को देखता है ताकि यह पता चल सके कि कैश का उपयोग करना है या नहीं। यदि किसी दिए गए कैश का उपयोग करने के लिए डेटाबेस द्वारा कहा गया है, तो यह कुछ ध्वज (शायद एक वैश्विक चर या एक सिंगलटन की संपत्ति) को स्विच करता है, और बाकी अनुरोध के लिए कैश बैकेंड का उपयोग करता है। यदि कोई कनेक्शन त्रुटि होती है, तो उस अनुरोध के दौरान इसे वापस बंद करने के लिए Magento नहीं बनाया जा सकता है?

एक धीमी गति से साइट एक घातक त्रुटि से बेहतर है।

संपादित करें: जाहिर है कि कुछ लोग यह नहीं समझते कि मैं क्या पूछ रहा हूं या वास्तव में इस पोस्ट को पढ़ा नहीं है।

  1. क्या कोई ऐसा मॉड्यूल है जो Magento को Redis उपलब्ध नहीं होने पर घातक त्रुटि के बिना कार्य करने की क्षमता देगा, जब Redis को प्राथमिक कैश संग्रहण विधि के रूप में उपयोग किया जा रहा है।

  2. यदि नहीं, तो क्या कोई मुझे बता सकता है कि यह संभव क्यों नहीं है या बहुत मुश्किल है?


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

1
@ टायलर वी, फिर से खोलने के लिए मतदान, यह कैसे अस्पष्ट या बंद विषय है एक दिलचस्प समस्या और एक वैध प्रश्न की तरह नहीं दिखता है। मुझे एक ऐसे मॉड्यूल के बारे में नहीं पता है जो इस समस्या को हल करता है, यह कुछ ऐसा नहीं हो सकता है कि Magento आसानी से बॉक्स से बाहर हो जाए और इसके लिए एक मॉड्यूल विकसित करने की आवश्यकता हो। मुझे लगता है कि मॉड्यूल को विकसित करने से पहले आपको मैगेंटो में कैश कैसे कहा जाता है, यह शोध करने की आवश्यकता होगी।
होली

सबसे सरल समाधान एक क्रोन होगा जो रेडिस को पिंग करता है और यदि कोई जवाब नहीं है, तो स्थानीय। xml को एक संस्करण के साथ स्वैप करता है जो फ़ाइल कैशिंग का उपयोग करता है।
पॉल ग्रिगेटा

जवाबों:


2

आपको बस 3 मुद्दों / समस्याओं को ठीक करना है:

  1. रेडिस विफल क्यों? हैवी ट्रैफिक, एरर, मेमोरी इश्यूज, नेटवर्किंग?
  2. कनेक्शन के लिए टाइमआउट और रिट्रीट सेटिंग्स?
  3. आपका स्टैक अप टू डेट है?

जाहिर है आप कुछ कोड को बदल सकते हैं और त्रुटि के बजाय अपना तर्क रख सकते हैं।

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