ক্যাসান্দ্রা প্রতিলিপি ফ্যাক্টর সম্পর্কে
নির্ভরযোগ্যতা এবং দোষ সহনশীলতা নিশ্চিত করতে ক্যাসান্ড্রা একাধিক নোডে ডেটা প্রতিলিপি সংরক্ষণ করে। প্রতিটি এজ কীস্পেসের জন্য প্রতিলিপি কৌশল নোডগুলি নির্ধারণ করে যেখানে প্রতিলিপিগুলি স্থাপন করা হয়।
একটি ক্যাসান্ড্রা ক্লাস্টার জুড়ে একটি কীস্পেসের জন্য মোট প্রতিলিপির সংখ্যাকে কীস্পেসের প্রতিলিপি ফ্যাক্টর হিসাবে উল্লেখ করা হয়। একটির একটি প্রতিলিপি ফ্যাক্টর মানে ক্যাসান্দ্রা ক্লাস্টারে প্রতিটি সারির একটি মাত্র কপি রয়েছে। দুটির একটি প্রতিলিপি ফ্যাক্টর মানে প্রতিটি সারির দুটি কপি রয়েছে, যেখানে প্রতিটি অনুলিপি একটি ভিন্ন নোডে রয়েছে। সমস্ত প্রতিলিপি সমান গুরুত্বপূর্ণ; কোন প্রাথমিক বা মাস্টার রেপ্লিকা নেই.
প্রতিটি ডেটা সেন্টারে তিনটি বা তার বেশি ক্যাসান্ড্রা নোড সহ একটি উত্পাদন সিস্টেমে, একটি এজ কীস্পেসের জন্য ডিফল্ট প্রতিলিপি ফ্যাক্টর তিনটি। একটি সাধারণ নিয়ম হিসাবে, প্রতিলিপি ফ্যাক্টর ক্লাস্টারে ক্যাসান্ড্রা নোডের সংখ্যা অতিক্রম করা উচিত নয়।
ক্যাসান্ড্রা স্কিমা দেখতে নিম্নলিখিত পদ্ধতিটি ব্যবহার করুন, যা প্রতিটি এজ কীস্পেসের জন্য প্রতিলিপি ফ্যাক্টর দেখায়:
- একটি ক্যাসান্দ্রা নোডে লগ ইন করুন।
- নিম্নলিখিত কমান্ড চালান:
/opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(hostname -i) <<< "show schema;"
যেখানে
$(hostname -i)
ক্যাসান্ড্রা নোডের আইপি ঠিকানার সমাধান করে। অথবা আপনি নোডের IP ঠিকানা দিয়ে$(hostname -i)
প্রতিস্থাপন করতে পারেন।
প্রতিটি কীস্পেসের জন্য, আপনি ফর্মে আউটপুট দেখতে পাবেন:
create keyspace kms with placement_strategy = 'NetworkTopologyStrategy' and strategy_options = {dc-1 : 3} and durable_writes = true;
আপনি দেখতে পাচ্ছেন যে ডেটা সেন্টার 1, dc-1
এর জন্য, kms
কীস্পেসের জন্য ডিফল্ট রেপ্লিকেশন ফ্যাক্টর তিনটি ক্যাসান্ড্রা নোড সহ একটি ইনস্টলেশনের জন্য তিনটি।
আপনি ক্লাস্টারে অতিরিক্ত ক্যাসান্ড্রা নোড যোগ করলে, ডিফল্ট প্রতিলিপি ফ্যাক্টর প্রভাবিত হয় না।
উদাহরণস্বরূপ, আপনি যদি ক্যাসান্দ্রা নোডের সংখ্যা ছয়টিতে বাড়িয়ে দেন, কিন্তু প্রতিলিপির ফ্যাক্টরটি তিনটিতে ছেড়ে দেন, আপনি নিশ্চিত করবেন না যে সমস্ত ক্যাসান্দ্রা নোডের সমস্ত ডেটার একটি অনুলিপি রয়েছে। যদি একটি নোড নিচে যায়, একটি উচ্চ প্রতিলিপি ফ্যাক্টর মানে একটি উচ্চ সম্ভাবনা যে নোডের ডেটা অবশিষ্ট নোডগুলির একটিতে বিদ্যমান। একটি উচ্চ রেপ্লিকেশন ফ্যাক্টরের নেতিবাচক দিক হল ডেটা লেখার ক্ষেত্রে একটি বর্ধিত বিলম্ব।
ক্যাসান্দ্রা ধারাবাহিকতা স্তর সম্পর্কে
ক্যাসান্দ্রা সঙ্গতি স্তরটি ক্যাসান্দ্রা নোডের ন্যূনতম সংখ্যা হিসাবে সংজ্ঞায়িত করা হয় যা অপারেশন সফল বলে বিবেচিত হওয়ার আগে একটি রিড বা রাইট অপারেশন স্বীকার করতে হবে। বিভিন্ন এজ কীস্পেসগুলিতে বিভিন্ন সামঞ্জস্যের স্তর বরাদ্দ করা যেতে পারে।
পঠন এবং লেখার ক্রিয়াকলাপের জন্য ক্যাসান্দ্রার সাথে সংযোগ করার সময়, বার্তা প্রসেসর এবং ম্যানেজমেন্ট সার্ভার নোডগুলি সাধারণত একটি কীস্পেসের জন্য সামঞ্জস্যের স্তর নির্দিষ্ট করতে LOCAL_QUORUM
এর ক্যাসান্দ্রা মান ব্যবহার করে। যাইহোক, কিছু কী-স্পেসকে সংজ্ঞায়িত করা হয়েছে একটির ধারাবাহিকতা স্তর ব্যবহার করার জন্য।
একটি ডেটা সেন্টারের জন্য LOCAL_QUORUM
এর মানের গণনা হল:
LOCAL_QUORUM = (replication_factor/2) + 1
উপরে বর্ণিত হিসাবে, তিনটি ক্যাসান্ড্রা নোড সহ একটি এজ উত্পাদন পরিবেশের জন্য ডিফল্ট প্রতিলিপি ফ্যাক্টর তিনটি। অতএব, LOCAL_QUORUM
= (3/2) +1 = 2 এর ডিফল্ট মান (মানটি একটি পূর্ণসংখ্যায় বৃত্তাকার করা হয়েছে)।
LOCAL_QUORUM
= 2 এর সাথে, অপারেশন সফল হওয়ার জন্য ডেটা সেন্টারের তিনটি ক্যাসান্ড্রা নোডের মধ্যে অন্তত দুটিকে অবশ্যই একটি রিড/রাইট অপারেশনে সাড়া দিতে হবে। একটি তিনটি নোড ক্যাসান্দ্রা ক্লাস্টারের জন্য, ক্লাস্টারটি তাই প্রতি ডেটা সেন্টারে একটি নোড নিচে থাকা সহ্য করতে পারে।
LOCAL_QUORUM
হিসাবে সামঞ্জস্যের স্তর নির্দিষ্ট করে, এজ একাধিক ডেটা সেন্টার জুড়ে ক্রিয়াকলাপ যাচাই করে প্রয়োজনীয় লেটেন্সি এড়ায়। যদি একটি কীস্পেস ক্যাসান্দ্রা QUORUM
মানকে সামঞ্জস্য স্তর হিসাবে ব্যবহার করে, তবে পঠন/লেখার ক্রিয়াকলাপগুলি সমস্ত ডেটা সেন্টার জুড়ে যাচাই করতে হবে।
এজ মেসেজ প্রসেসর বা ম্যানেজমেন্ট সার্ভার নোড দ্বারা ব্যবহৃত ধারাবাহিকতা স্তর দেখতে:
- একটি বার্তা প্রসেসর নোডে লগ ইন করুন।
- /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
- ধাপ 3 এবং 4 পুনরাবৃত্তি করুন।
আপনি যদি ক্লাস্টারে অতিরিক্ত ক্যাসান্ড্রা নোড যোগ করেন, তবে সামঞ্জস্যের স্তর প্রভাবিত হয় না।