ทำไมวีโอไอพีไม่สามารถปิดแคชได้เมื่อ Redis ล้มเหลว


9

ฉันทำงานกับ Magento 1.9.0.1 และทุก ๆ ครั้งที่เซิร์ฟเวอร์ Redis ของเราซึ่งโฮสต์แคช Magento (AWS ElastiCache) จะลดลงเรื่อย ๆ เมื่อสิ่งนี้เกิดขึ้นวีโอไอพีจะเกิดข้อผิดพลาดอย่างร้ายแรงจนกระทั่ง Redis พร้อมใช้งานอีกครั้ง

นี่อาจเป็นคำถามที่ตอบยาก แต่สิ่งที่ฉันสงสัยคือทำไม Magento ทำตัวเหมือนแคชไม่ได้เมื่อไม่สามารถเชื่อมต่อกับ Redis แทนที่จะทำผิดพลาดอย่างร้ายแรง?

ฉันไม่ทราบเกี่ยวกับการตั้งค่าหรือโมดูลใด ๆ ที่ให้ความสามารถนี้กับ Magento แต่บนพื้นผิวมันดูไม่ยาก Magento ใช้local.xmlเพื่อหาวิธีเชื่อมต่อกับฐานข้อมูลและแบ็กเอนด์แคช จากนั้นจะเชื่อมต่อกับฐานข้อมูลและดูตัวเลือกแคชเพื่อทราบว่าจะใช้แคชหรือไม่ หากฐานข้อมูลบอกให้ใช้แคชที่กำหนดไว้สวิตช์จะเปลี่ยนสถานะบางอย่าง (อาจเป็นตัวแปรกลางหรือคุณสมบัติของซิงเกิลตัน) และใช้แคชแบ็กเอนด์สำหรับการร้องขอที่เหลือ Magento ไม่สามารถปิดการทำงานนี้ในระหว่างการร้องขอนั้นได้หากเกิดข้อผิดพลาดในการเชื่อมต่อ?

ไซต์ที่ช้านั้นดีกว่าข้อผิดพลาดร้ายแรง

แก้ไข:เห็นได้ชัดว่าบางคนไม่เข้าใจสิ่งที่ฉันถามหรือไม่ได้อ่านโพสต์นี้จริง ๆ

  1. มีโมดูลที่จะให้ Magento สามารถทำงานได้โดยไม่มีข้อผิดพลาดร้ายแรงเมื่อ Redis ไม่พร้อมใช้งานเมื่อ Redis ใช้เป็นวิธีการจัดเก็บแคชหลัก

  2. ถ้าไม่มีใครช่วยสอนฉันเกี่ยวกับสาเหตุที่เป็นไปไม่ได้หรือยากมาก?


นี่เป็นคำถามที่ดีอย่างสมบูรณ์ ฉันประสบปัญหาเดียวกันและมีคำถามเดียวกัน ทำไมวีโอไอพีถึงรู้ตัวว่าเซิร์ฟเวอร์ Redis ไม่ทำงานและเปลี่ยนไปใช้แคชแบบดั้งเดิมคุณภาพเยี่ยมแทนที่จะทิ้งข้อผิดพลาดร้ายแรง
Vinu D

1
@Tyler V การลงคะแนนให้เปิดใหม่ไม่เห็นว่าหัวข้อนี้ไม่ชัดเจนหรือปิดดูเหมือนว่าเป็นปัญหาที่น่าสนใจและคำถามที่ถูกต้อง ฉันไม่ทราบว่าโมดูลใดที่แก้ปัญหานี้ได้มันอาจไม่ใช่สิ่งที่วีโอไอพีออกมานอกกรอบได้ง่ายและจะต้องมีโมดูลที่พัฒนาขึ้นสำหรับเรื่องนี้ ฉันเดาว่าคุณจะต้องทำการวิจัยวิธีการเรียกแคชใน Magento ก่อนที่จะพัฒนาโมดูล
ฮอลลี่

ทางออกที่ง่ายที่สุดคือ cron ที่ส่งคำสั่ง Redis และหากไม่มีคำตอบให้สลับ local.xml ด้วยตัวแปรที่ใช้การแคชไฟล์
Paul Grigoruta

คำตอบ:


2

สิ่งที่คุณต้องทำเพียงแค่แก้ไขปัญหา / ปัญหา 3 ข้อ:

  1. ทำไม redis ล้มเหลว การจราจรหนาแน่นข้อผิดพลาดปัญหาหน่วยความจำเครือข่าย?
  2. หมดเวลาและลองตั้งค่าสำหรับการเชื่อมต่ออีกครั้งหรือไม่
  3. สแต็คของคุณเป็นรุ่นล่าสุดหรือไม่

เห็นได้ชัดว่าคุณสามารถเปลี่ยนรหัสและวางตรรกะของคุณแทนข้อผิดพลาด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.