कैसंड्रा रेप्लिकेशन फ़ैक्टर के बारे में जानकारी
कैसंड्रा भरोसेमंद और गड़बड़ी सहनशीलता पक्का करने के लिए एक से ज़्यादा नोड पर डेटा की प्रतिकृति सेव करता है. हर Edge कीस्पेस के लिए रेप्लिकेशन की रणनीति से उन नोड का पता चलता है जहां रिप्लिकेशन होते हैं रखा गया है.
किसी कैसेंड्रा क्लस्टर में किसी कीस्पेस के लिए प्रतिकृतियों की कुल संख्या को कीस्पेस का रेप्लिकेशन फ़ैक्टर. रेप्लिकेशन फ़ैक्टर होने का मतलब है कि सिर्फ़ एक कैशांड्रा क्लस्टर में हर पंक्ति की कॉपी होती है. दो के रेप्लिकेशन फ़ैक्टर का मतलब है कि दो हर पंक्ति की कॉपी जहां हर कॉपी अलग नोड में होती है. सभी प्रतिकृतियां समान रूप से महत्वपूर्ण होती हैं; यहां कोई प्राथमिक या मास्टर प्रतिकृति नहीं है.
किसी प्रोडक्शन सिस्टम में, जिसके हर डेटा सेंटर में तीन या उससे ज़्यादा कैसंड्रा नोड होते हैं, डिफ़ॉल्ट Edge कीस्पेस के लिए रेप्लिकेशन फ़ैक्टर तीन है. एक सामान्य नियम के तौर पर, प्रतिरूप कारक क्लस्टर में कैसंड्रा नोड की संख्या से ज़्यादा नहीं होनी चाहिए.
कैसंड्रा स्कीमा को देखने के लिए, नीचे दी गई प्रक्रिया का इस्तेमाल करें. यह स्कीमा, रेप्लिकेशन फ़ैक्टर को दिखाता है हर Edge कीस्पेस के लिए:
- किसी कैसेंड्रा नोड में लॉग इन करें.
- नीचे दिया गया निर्देश चलाएं:
/opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(hostname -i) <<< "show schema;"
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया हैजहां
$(hostname -i)
, कैसंड्रा नोड के आईपी पते से जोड़ता है. या आप$(hostname -i)
की जगह नोड का आईपी पता डाल सकता है.
हर कीस्पेस के लिए, आउटपुट आपको इस फ़ॉर्म में दिखेगा:
create keyspace kms with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {dc-1 : 3} and durable_writes = true;
आप देख सकते हैं कि डेटा सेंटर 1 के लिए, dc-1
,
kms
कीस्पेस,
तीन कैसेंड्रा नोड से इंस्टॉलेशन किया गया.
यदि आप क्लस्टर में अतिरिक्त कैसंड्रा नोड जोड़ते हैं, तो डिफ़ॉल्ट प्रतिकृति कारक नहीं होता है प्रभावित.
उदाहरण के लिए, अगर आप कैसंड्रा नोड की संख्या बढ़ाकर छह कर देते हैं, लेकिन रेप्लिकेशन छोड़ देते हैं तीन पर, आप यह सुनिश्चित नहीं करते कि सभी कैसंड्रा नोड में सभी डेटा की कॉपी है. अगर कोई नोड नीचे जाता है, तो एक जैसे ज़्यादा रेप्लिकेशन फ़ैक्टर का मतलब है कि नोड पर मौजूद डेटा की संभावना ज़्यादा है बचे हुए नोड में से किसी एक पर मौजूद होता है. एक उच्च प्रतिकृति कारक की समस्या डेटा लिखने में लगने वाला समय.
कैसंड्रा कंसिस्टेंसी लेवल के बारे में जानकारी
कैसंड्रा कंसिस्टेंसी लेवल को कैसंड्रा नोड की कम से कम संख्या के तौर पर परिभाषित किया जाता है, जिसे कार्रवाई को सफल मानने से पहले, पढ़ने या लिखने की कार्रवाई को स्वीकार करें. अलग-अलग स्थायित्व लेवल को अलग-अलग Edge कीस्पेस के लिए असाइन किया जा सकता है.
रीड और राइट ऑपरेशन के लिए, कासांद्रा से कनेक्ट करते समय, मैसेज प्रोसेसर, और मैनेजमेंट
सर्वर नोड आम तौर पर इन कामों के लिए LOCAL_QUORUM
की Cassandra वैल्यू का इस्तेमाल करते हैं
कीस्पेस के लिए एकरूपता लेवल तय करें. हालांकि, कुछ कीस्पेस को
एक जैसा लेवल होना चाहिए.
डेटा सेंटर के लिए LOCAL_QUORUM
वैल्यू की गिनती, इस तरह से की जाती है:
LOCAL_QUORUM = (replication_factor/2) + 1
जैसा कि ऊपर बताया गया है, Edge प्रोडक्शन एनवायरमेंट के लिए, डिफ़ॉल्ट रेप्लिकेशन फ़ैक्टर के साथ
तीन कैसंड्रा नोड तीन हैं. इसलिए, LOCAL_QUORUM
की डिफ़ॉल्ट वैल्यू =
(3/2) +1 = 2 (वैल्यू को पूर्णांक में बदल दिया जाता है).
डेटा में तीन कैसंड्रा नोड में से कम से कम दो में से LOCAL_QUORUM
= 2 होने पर
कार्रवाई के सफल होने के लिए, सेंटर को रीड/राइट ऑपरेशन का जवाब देना चाहिए. तीन नोड के लिए
इसलिए, कैसंड्रा क्लस्टर है, इसलिए यह क्लस्टर हर डेटा सेंटर में एक नोड के बंद होने को बर्दाश्त कर सकता है.
कंसिस्टेंसी लेवल को LOCAL_QUORUM
के तौर पर तय करने पर, Edge इंतज़ार के समय से बचाता है
कई डेटा सेंटर में कार्रवाइयों की पुष्टि करने के लिए ज़रूरी है. अगर एक कीस्पेस ने कैसंड्रा का इस्तेमाल किया
कंसिस्टेंसी लेवल के तौर पर QUORUM
वैल्यू, 'पढ़ें/लिखें' कार्रवाइयां यह होनी चाहिए
सभी डेटा सेंटर पर पुष्टि की गई.
Edge मैसेज प्रोसेसर या मैनेजमेंट सर्वर नोड, कंसिस्टेंसी लेवल का इस्तेमाल कर रहे हैं या नहीं, यह देखने के लिए:
- मैसेज प्रोसेसर नोड में लॉग इन करें.
- इसे /opt/apigee/Edge-message-processor/conf डायरेक्ट्री में बदलें:
cd /opt/apigee/edge-message-processor/conf
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - लगातार एक जैसे बदलाव करने के लिए:
grep -ri "write.consistencylevel" *
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - पढ़ने की क्षमता का इस्तेमाल करने के लिए:
grep -ri "read.consistencylevel" *
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - मैनेजमेंट सर्वर नोड में लॉग इन करें.
- /opt/apigee/Edge-management-server/conf डायरेक्ट्री में बदलें:
cd /opt/apigee/edge-management-server/conf
अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है - तीसरे और चौथे चरण को दोहराएं.
अगर आप क्लस्टर में अतिरिक्त कैसंड्रा नोड जोड़ते हैं, तो स्थिरता का स्तर प्रभावित नहीं होता है.