Cassanda Replication Factor और Consistence लेवल के बारे में जानकारी

Edge for Private Cloud v. 4.17.01

कैसंड्रा रेप्लिकेशन फ़ैक्टर के बारे में जानकारी

Cassandra कई नोड पर डेटा की नकल करता है, ताकि यह पक्का किया जा सके कि वह भरोसेमंद है और उसमें कोई गड़बड़ी न हो. हर Edge कीस्पेस के लिए नकल करने की रणनीति, उन नोड को तय करती है जहां डुप्लीकेट रखे जाते हैं.

कैसंड्रा क्लस्टर में, कीस्पेस के लिए कॉपी की कुल संख्या को keyspace के रेप्लिकेशन फ़ैक्टर के तौर पर जाना जाता है. एक के रेप्लिकेशन फ़ैक्टर का मतलब है कि कैसंड्रा क्लस्टर में हर लाइन की सिर्फ़ एक कॉपी है. दो के रेप्लिकेशन फ़ैक्टर का मतलब है कि हर लाइन की दो कॉपी होती हैं और हर लाइन अलग नोड पर होती है. सभी कॉपी ज़रूरी होती हैं. इनमें मुख्य या मास्टर रेप्लिका नहीं होती.

हर डेटा सेंटर में तीन या उससे ज़्यादा कैसंड्रा नोड वाले प्रोडक्शन सिस्टम में, Edge कीस्पेस के लिए डिफ़ॉल्ट रेप्लिकेशन फ़ैक्टर तीन होता है. सामान्य नियम के तौर पर, रेप्लिका फ़ैक्टर को क्लस्टर में कैसंड्रा नोड की संख्या से ज़्यादा नहीं होना चाहिए.

कैसंड्रा स्कीमा को देखने के लिए, नीचे दी गई प्रोसेस का इस्तेमाल करें. यह हर EDGE कीस्पेस के लिए, नकल करने का फ़ैक्टर दिखाता है:

  1. Cassandra नोड में लॉग इन करें.
  2. यह निर्देश चलाएं:
    > /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 की कैसंड्रा वैल्यू का इस्तेमाल करते हैं. हालांकि, कुछ कीस्पेस को कंसिस्टेंसी लेवल का इस्तेमाल करने के लिए तय किया गया है.

किसी डेटा सेंटर के लिए LOCAL_QUORUM के मान की गणना इस तरह से की जाती है:

LOCAL_QUORUM = (replication_factor/2) + 1 

जैसा कि ऊपर बताया गया है, तीन कैसंड्रा नोड वाले Edge प्रोडक्शन एनवायरमेंट के लिए डिफ़ॉल्ट रेप्लिकेशन फ़ैक्टर में तीन हैं. इसलिए, LOCAL_QUORUM की डिफ़ॉल्ट वैल्यू = (3/2) +1 = 2 (वैल्यू को पूर्णांक में बदल दिया जाता है).

LOCAL_QUORUM = 2 होने पर, डेटा सेंटर के तीन कैसंड्रा नोड में से कम से कम दो को, पढ़ने/लिखने की कार्रवाई का जवाब देना होगा, ताकि कार्रवाई हो सके. तीन नोड वाले कैसंड्रा क्लस्टर के लिए, क्लस्टर हर डेटा सेंटर में एक नोड के डाउन होने को सहन कर सकता है.

एक जैसी वैल्यू के तौर पर LOCAL_QUORUM का इस्तेमाल करके, Edge कई डेटा सेंटर पर कार्रवाइयों की पुष्टि करके, इंतज़ार के समय से बचाता है. अगर किसी कीस्पेस में कंसिस्टेंसी लेवल के तौर पर कैसंड्रा QUORUM वैल्यू का इस्तेमाल किया गया है, तो पढ़ने/लिखने की कार्रवाइयों की सभी डेटा सेंटर पर पुष्टि करनी होगी.

EDGE मैसेज प्रोसेसर या मैनेजमेंट सर्वर नोड में इस्तेमाल किया गया कंसिस्टेंसी लेवल देखने के लिए:

  1. संदेश प्रोसेसर नोड में लॉग इन करें.
  2. /opt/apigee/edge-message-processor/conf डायरेक्ट्री में बदलें:
    > cd /opt/apigee/edge-message-processor/conf
  3. एक जैसा लिखने के लिए:
    > grep -ri "write.consistencylevel" *
  4. लगातार पढ़ने के लिए:
    > grep -ri "read.consistencylevel" *
  5. मैनेजमेंट सर्वर नोड में लॉग इन करें.
  6. /opt/apigee/edge-management-server/conf डायरेक्ट्री में बदलें:
    > cd /opt/apigee/edge-management-server/conf
  7. तीसरे और चौथे चरण को दोहराएं.

अगर आप क्लस्टर में और भी कैसांड्रा नोड जोड़ते हैं, तो उनके एक जैसे होने के लेवल पर कोई असर नहीं पड़ता.