2010-06-07 7 views
7

मैं कई क्लाइंट्स के लिए मैगेंटो (सामुदायिक संस्करण) स्थापना सेट अप करना चाहता हूं और इस मामले को कुछ दिनों के लिए शोध कर रहा हूं।एकाधिक क्लाइंट्स के लिए मैगेंटो चलाना - एकल इंस्टालट बनाम एकाधिक इंस्टॉलेशन

मैं देख सकता हूं कि एंटरप्राइज़ संस्करण में मुझे इसकी आवश्यकता है, लेकिन आश्चर्य की बात है कि मैं 12,000 डॉलर की वार्षिक सदस्यता को खोलने को तैयार नहीं हूं।

ऐसा लगता है कि कुछ विकल्प उपलब्ध हैं लेकिन मैं विभिन्न विकल्पों में से प्रदर्शन के बारे में चिंतित हूं।

विकल्प 1) एकल AITOC उन्नत अनुमतियाँ मॉड्यूल का उपयोग कर तो यह वास्तव में है क्या मैं के बाद कर रहा हूँ स्थापित करें; एक स्थापना ताकि मैं एक ही समय में अपनी कोर फाइलों को अपडेट कर सकूं और अपने सभी स्टोर उपयोगकर्ताओं को एक ही स्थान से प्रबंधित कर सकूं। यहां समस्याएं हैं कि मुझे इस अतिरिक्त उत्पाद की विश्वसनीयता के बारे में कुछ भी पता नहीं है और मुझे थोड़ा अतिरिक्त भुगतान करना होगा। मैं भी चिंतित हूं कि अगर मेरे पास इस इंस्टॉलेशन से 10 स्टोर चल रहे हैं तो यह सब इतनी धीमी हो सकती है और मैगेंटो की धीमी गति के बारे में मैंने सुना है।

मॉड्यूल लिंक: http://www.aitoc.com/en/magentomods_advanced_permissions.html

विकल्प 2) प्रत्येक दुकान के लिए एक सर्वर पर Magento के अनेक इंस्टॉलेशन तो यहाँ मैं एक सर्वर पर 10 Magento प्रतिष्ठानों सब खुशी से किसी भी अतिरिक्त पैसे का उपयोग नहीं कर दूर चल रहे हैं, लेकिन मैं अब अद्यतन करने और बनाए रखने के लिए 10 अलग-अलग स्टोर हैं जो परेशान हो सकते हैं। इसके अलावा मैं इस विधि का उपयोग करके अन्य लोगों को खोजने में सक्षम नहीं हूं और जब मैं आमतौर पर पूछता हूं कि कैसे अपने सर्वर को मरने से रोकना है। तो यह मार्ग ऐसा लगता है जैसे यह मेरे सर्वर पर और भी बदतर हो सकता है क्योंकि मेरे सर्वर पर और अधिक चल रहा है, लेकिन यदि मेरा सर्वर इसे ले जा सकता है तो प्रत्येक Magento स्थापना सरल हो जाएगी और प्रत्येक को चलाने के लिए धीमा होने की संभावना कम होगी दुकानों पर खुद?

विकल्प 3) और Magento प्रतिष्ठानों के सर्वर के बहुत सारे बहुत सारे प्रयोग करें मैं सिर्फ इतना नहीं ऐसा करना चाहते हैं।

विकल्प 4) Magento एंटरप्राइज़ खरीदें मेरे पास ऐसा करने के लिए धन नहीं है।

तो कौन सा मार्ग मेरे सर्वर को उड़ाने की संभावना कम है? और क्या किसी को मॉड्यूल के इस पवित्र अंगूर के साथ अनुभव है?

किसी भी मदद के लिए पढ़ने और अग्रिम धन्यवाद के लिए धन्यवाद - क्रिस हॉपकिंस

उत्तर

7

के तुरंत रास्ते से बाहर गैर विकल्प प्राप्त करते हैं। आप # 3 और # 4 नहीं करना चाहते हैं एक गैर समाधान है। Magento एंटरप्राइज़ संस्करण में कोई भी सुविधा नहीं है जो आपको एक स्टोर से कई ग्राहकों को चलाने देगी।

अब, संभावित विकल्पों पर। जैसा कि आप बताते हैं, # 1 आपको कोड के एक संस्करण को अपडेट करने की अनुमति देगा, लेकिन निश्चित रूप से यह कुछ जोखिमों के साथ आता है। जैसा कि मैं इसे समझता हूं, आपके ग्राहकों को स्टोर तक पहुंचने की आवश्यकता होगी? यदि आपके पास एक डेटाबेस और एक कोडबेस पर चल रहे कई ग्राहक हैं, तो आप हमेशा एक-दूसरे को प्रभावित करने वाले मुद्दों में भाग लेंगे। उदाहरण के लिए, उत्पाद विशेषताओं को कौन नियंत्रित करेगा, जो प्रकृति वैश्विक हैं? यदि एक स्टोर किसी उत्पाद विशेषता को हटा देता है, तो अन्य स्टोर परिणामस्वरूप डेटा खो सकते हैं। यदि आप इस मुद्दे को हल करते हैं, कैटलॉग प्रचार और उत्पाद श्रेणियों आदि के बारे में क्या है। Magento कई वेबसाइटों को संभालने के लिए बनाया गया था, लेकिन एक दूसरे से उन्हें अपनाने के लिए नहीं, और इस वजह से अनुभव समस्याएं हैं।प्रदर्शन के लिए, एक बड़ी उत्पाद सूची या ग्राहक आधार साइट को धीमा कर देगा, लेकिन आप फ्लैट उत्पाद सूची का उपयोग करके और कैशिंग का अच्छा उपयोग करके इसे कम कर सकते हैं।

विकल्प # 2 के लिए, आप एकाधिक Magento स्टोर चला सकते हैं, जो दो मुख्य समस्याओं को लाता है। सबसे पहले, जैसा कि आप कहते हैं, साइट अपडेट कर रहा है। यदि आप Magento की वेनिला स्थापना का उपयोग कर रहे हैं और कोर फ़ाइलों को संशोधित नहीं कर रहे हैं, तो यह एक nonissue होना चाहिए। Magento का अद्यतनकर्ता उन इंस्टॉलेशन के लिए बहुत आसान है, क्योंकि आप अधिक मोड करते समय कठिनाई में वृद्धि करते हैं और ऊपर उठाने के लिए और अधिक मैन्युअल प्रक्रियाओं का उपयोग करना पड़ता है।

प्रदर्शन के रूप में, कई magento साइटें चलाना धीमा हो सकता है, लेकिन यह इस बात पर निर्भर करता है कि आप उन्हें कैसे बनाते हैं। एक या एकाधिक साइटों के बावजूद, आपको प्रत्येक साइट के लिए डेटा लोड करना होगा, इसलिए डेटाबेस आकार बहुत अलग नहीं होगा। सर्वर पर फ़ाइल का आकार काफी गैर-ऊतक है। किसी भी मामले में, जब कोई ग्राहक किसी पृष्ठ का अनुरोध करता है, तो Magento को अनुरोध करने के लिए पूरे ढांचे को स्पिन करना होता है, जहां प्रदर्शन समस्याएं खुद को दिखाना शुरू कर देती हैं। इसके लिए बड़ी कमी में से एक एक्सकैच जैसे ऑपोड कैश का उपयोग करना है, लेकिन कई मशीनों के साथ आपको सभी इंस्टॉलेशन कोड को पकड़ने के लिए एक्सकैच को और अधिक मेमोरी देना होगा। वैध समस्या

मेरी सिफारिश? एक मशीन, एकाधिक इंस्टॉल पर शुरू करें। इंस्टॉल की संख्या पर अपना रास्ता काम करें, और जब सर्वर अब और समर्थन नहीं करता है, तो आगे बढ़ें। अपने कोड को कोर से बाहर रखें और उन एक्सटेंशन का उपयोग करें जिन्हें आसानी से अपडेट किया जा सकता है, इसलिए अपडेट आसान हैं। इससे जितनी अधिक चिंताओं को संभव हो उतना कम करना चाहिए।

आशा है कि मदद करता है!

धन्यवाद, जो

+0

मुझे लगता है कि यह वास्तव में कोई फर्क नहीं पड़ता कि मौसम उद्यम में सुविधा है या नहीं, जैसा कि मुझे यह नहीं मिल रहा है। लेकिन मैं यह मान रहा था कि यदि एंटरप्राइज़ संस्करण एकाधिक क्लाइंट वेबसाइट चला सकता है तो एआईटीओसी मॉड्यूल एक और उन्नत संस्करण में पहले से ही किए जा रहे समर्थन के लिए समर्थन जोड़ने के रूप में जाने का तरीका हो सकता है। यदि Magento इस पूरी तरह से कभी भी समर्थन नहीं कर सकता है तो मुझे लगता है कि हमें एकाधिक सर्वर मार्ग नीचे जाना होगा। http://www.magentocommerce.com/product/enterprise-edition यह सुनिश्चित करना प्रतीत होता है कि आप वेबसाइट स्तर –

+0

पर चीजों को नियंत्रित कर सकते हैं कुछ ऐसी चीजें हैं जिन्हें आप वेबसाइट स्तर पर नियंत्रित कर सकते हैं (उदाहरण के लिए प्रति वेबसाइट अलग-अलग सेटिंग्स हैं) , लेकिन सबकुछ नहीं। यह विशेष रूप से एक मुद्दा है यदि मैंने आपको सही तरीके से पढ़ा है कि कई ग्राहक होंगे। –

+0

हां हम निश्चित रूप से कई ग्राहक होंगे। क्या मैं पूछ सकता हूं कि आप किस अनुभव/सूचना का उत्तर दे रहे हैं? –

1

मैं एक VPS खाता हो रही है और यह स्केलिंग अप जब यह आप अपनी लागत आवश्यकताओं के लिए सबसे अच्छा विकल्प दे देंगे आवश्यक हो जाता है लगता है।

1

मेरे दो सेंट के लिए मुझे लगता है कि आप हर किसी को एक दूसरे में जोड़ने से साथ Magento के एक एकल स्थापना में हर किसी को फेंक कर पेशेवरों की तुलना में अधिक समस्याओं में चलाने के लिए जा रहे हैं। वेबसाइट वाई पर ग्राहक एक्स का उल्लेख नहीं करना प्रतीत होता है कि वह वेबसाइट जेड पर खाता क्यों नहीं बना सकता है कि वह पहले कभी नहीं रहा है (यह एक कॉन्फ़िगरेशन समस्या है, लेकिन यह हो सकता है)

मैं क्या करूंगा अनुशंसा करते हैं कि आप एक गिट रिपॉजिटरी सेट अप करें जिसमें आपकी "बेस" Magento स्थापना है और उसके बाद आपके सभी क्लाइंट अलग-अलग संस्करण सेटअप पर हैं जिन्हें आप उस मुख्य इंस्टॉल से क्लोन कर सकते हैं।

यह आपको अपडेट करने के लिए केवल एक वास्तविक कोड आधार दे देंगे (डेटाबेस परिवर्तन एक अलग कहानी है) और हर कोई अलग है।

0

हम एक भी Magento सीई स्थापना पर कई ग्राहकों चलाने के लिए और हमारे विभिन्न ग्राहकों के लिए दृश्यता को नियंत्रित करने AITOC के उन्नत अनुमतियां मॉड्यूल का उपयोग करें। मॉड्यूल अच्छी तरह से काम करता है, हालांकि इसमें कई हिचकी हैं और कुछ हद तक क्षेत्रों में कार्यक्षमता की कमी है, जिसे हमें अपने घर के मॉड्यूल के साथ संभालना पड़ा है। ऐसा लगता है कि प्रदर्शन पर कोई ध्यान देने योग्य प्रभाव नहीं है, क्योंकि हम इसे किसी भी मुद्दे के बिना महीनों के लिए इस तरह से चला रहे हैं। (जैसा कि कहा गया है, हम अमेज़न EC2 और ऑटो स्केलिंग का उपयोग करते हैं।)

मैं यह समझ के रूप में, ईई उन्नत भूमिका की अनुमतियां कि AITOC के मॉड्यूल बेकार प्रस्तुत करना होगा प्रदान करता है। हालांकि, मैंने यह भी सुना है कि ईई के लिए ईयूएलए प्रति इंस्टॉलेशन के लिए केवल 1 क्लाइंट की आवश्यकता है। मैं इस पर कठोर तथ्यों को खोजने में सक्षम नहीं हूं, लेकिन यदि यह सच है, तो यह वास्तव में एक सौदा-ब्रेकर है, क्योंकि प्रत्येक क्लाइंट के लिए एक अतिरिक्त ईई स्थापना होने के कारण बहुत महंगा हो जाएगा। (हो सकता है कि किसी को है, हालांकि इस बात की पुष्टि कर सकते हैं हाँ/नहीं इस पर?)

0

एक ही विषय पर शोध करते समय मैं इस सूत्र मिल गया।मेरे पास एकाधिक प्रबंधकों के साथ एक बड़ी दुकान है। मैं उनमें से प्रत्येक को विशेष श्रेणियों और उत्पादों तक पहुंच देना चाहता था ताकि वे केवल उन्हें बदल सकें और कुछ और नहीं बदल पाएंगे (दुर्भाग्य से, मुझे इसके बारे में कुछ बुरा अनुभव है)। तो मुझे कुछ एक्सटेंशन मिल गए: इटोक, आगे की चीज़ें और गंदा। मैंने बाद वाले को स्थापित किया और मैं काफी संतुष्ट हूं। सभी उपयोगकर्ता भूमिकाओं को कॉन्फ़िगर करने में कुछ समय लगता है लेकिन यह निश्चित रूप से भुगतान करता है।

1

हम एक कोड कोड का उपयोग करके दो दर्जन magento "इंस्टॉल" को संभालते हैं, लेकिन कई डेटाबेस। अनिवार्य रूप से हमने एक बहु-किरायेदार Magento बनाने का एक मोटा काम किया है।

यहाँ हम यह कैसे कर रहे हैं: कुछ बुनियादी रूटिंग नियम को संभालने के लिए

एक रिवर्स प्रॉक्सी के रूप में
  1. उपयोग nginx, और कुछ सर्वर चर (fastcgi_params) अनुरोध के आधार पर स्थापित करने के लिए।
  2. हम अनुरोधित डोमेन, ब्राउज़र भाषा और विज़िटर स्थान के आधार पर Nginx कॉन्फ़िगरेशन में हार्डकोड रूटिंग नियमों को हार्डकोड करते हैं।
  3. एक सर्वर के रूप में "ग्राहक-आईडी"
  4. एप्लिकेशन/आदि फ़ोल्डर एप्लिकेशन/[क्लाइंट id] के सम्मेलन के साथ की प्रतियां/आदि
  5. ओवरराइड Mage.php चर $ etcDir Nginx fastcgi_params का उपयोग कर चर सेट करें $ आदि के लिए = self :: getRoot()। डीएस $ _SERVER ['CLIENT_ID']। '/'। 'आदि'; (आपको यह सुनिश्चित करने के लिए यहां कुछ तर्क लागू करना होगा कि यह सुंदरता से असफल हो सकता है)
  6. ऐप/etc/[क्लाइंट-आईडी] /local.xml संपादित करें ताकि मैगेंटो टेबल और पहले से आयात की गई मूल सामग्री के साथ एक ताजा डीबी इंगित किया जा सके। । (आपको URL को core_config तालिका में, या स्थानीय.एक्सएमएल फ़ाइल में कुछ भी काम करने के लिए सेट करना होगा)
  7. ऐप/कोड/स्थानीय/ऐप/कोड/स्थानीय/क्लाइंट-आईडी]/mage.php में (हाँ, मुझे कोर कोड ओवरराइड करने के लिए शूट करें, लेकिन यह एकमात्र तरीका है जिसे हम पा सकते हैं)
  8. डीडी # अद्वितीय प्रति क्लाइंट
  9. के साथ एक Redis डीबी में सेटअप सत्र हैंडलिंग
  10. पथ में [क्लाइंट-आईडी] शामिल करने के लिए Mage_Core_Model_Config_Options में getVarDir() को ओवरराइड करें। (यह सुनिश्चित करना है कि आप ग्राहकों के बीच कैश साझा नहीं कर रहे हैं)

आपको शायद अब तक गस्ट मिल जाए। ग्राहक आईडी से, सभी "व्यवस्थापक पैनल" यूआरएल समेकन, और व्यवस्थापक उपयोगकर्ता पूछ में [क्लाइंट id] का चयन करने, कॉन्फ़िगर वार्निश

मीडिया के अलगाव :

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

संबंधित मुद्दे