2011-11-16 20 views
6

कैसेंड्रा सेटअप निम्नलिखित पर विचार करें:कैसेंड्रा - ग्राहक के पक्ष लोड संतुलन

  • 6 की अंगूठी नोड्स: ए, बी, डी, ई, एफ, जी
  • प्रतिकृति कारक: 3
  • विभाजक: RandomPartitioner
  • नियुक्ति रणनीति: SimpleStrategy

मेरे टेस्ट-स्तंभ नोड बी पर संग्रहीत और नोड्स डी को दोहराया जाता है और ई

012,

अब मैं पढ़ने CL.ONE के साथ अपने टेस्ट-स्तंभ गर्त हेक्टर एपीआई (बचत) पढ़ने एकाधिक जावा प्रक्रियाओं है

दो संभावनाएं हैं:

  1. हेक्टर नोड बी करने के लिए सभी कॉल अग्रेषित करेगा, क्योंकि बी डेटा मास्टर
  2. हेक्टर बैलेंस रीड कॉल लोड नोड बी, डी और ई (मास्टर और प्रतिकृतियां) लोड करेगा। इस मामले में मेरे परीक्षण कॉलम को प्रत्येक कैसंद्रा उदाहरण पर कैश में लोड किया जाएगा।

यह कौन सा है 1) या 2)?

धन्यवाद और सादर, मेसिएज

उत्तर

4

मेरा मानना ​​है कि यह है: 3) कैसेंड्रा आगे निकटतम नोड कि जीवित है, जहां "निकटता" स्निच से निर्धारित होता है वर्तमान में इस्तेमाल किया जा रहा (कैसेंड्रा में सेट करने के लिए सभी कॉल्स। YAML)।

  • सरल सिंक टोकन रिंग पर निकटतम नोड चुनता है।
  • सार नेटवर्कनेटोपोलॉजी सिंचन और व्युत्पन्न स्निच पहले एक ही रैक में नोड्स चुनने का प्रयास करते हैं, फिर उसी डेटासेंटर में नोड्स का चयन करें।

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

अधिक जानकारी के लिए "पढ़ें पथ" के तहत Cassandra ArchitectureInternals देखें।

2

(उपरोक्त थिओडोर का जवाब क्योंकि यह मूल है)। कुछ अतिरिक्त विवरण:

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

डाउनसाइड ग्राहक पर हैशिंग गणना और विभाजनकर्ता लुकअप का डुप्लिकेशंस होगा।

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