এই বিভাগে আমাদের পেশাদার পদ্ধতি সংক্ষিপ্তভাবে তুলে ধরা হয়েছে এবং AWS ক্লাউডের সাথে OPDK ব্যবহার করার জন্য আমাদের সাজেশন দেওয়া হয়েছে।
Cassandra প্রায় সব নীতির জন্য ব্যাকএন্ড ও ডেটা স্টোর হিসেবে ব্যবহার করা হয় এবং এটি Apigee Edge রানটাইম এনভায়রনমেন্টের একটি গুরুত্বপূর্ণ অংশ। এই ডকুমেন্টে AWS এনভায়রনমেন্টের জন্য Cassandra অপ্টিমাইজ করার বিষয়ে ফোকাস করা হয়েছে।
স্টোরেজ ও I/O সংক্রান্ত প্রয়োজনীয়তা
বেশিরভাগ Cassandra I/O হল সিকোয়েন্সিয়াল, কিন্তু এমন কিছু ক্ষেত্র আছে যেখানে আপনার র্যান্ডম I/O প্রয়োজন। এর একটি উদাহরণ হল রিড অপারেশন চলাকালীন সাজানো স্ট্রিং টেবিল পড়া। Cassandra-র জন্য SSD হল সাজেস্ট করা স্টোরেজ মেকানিজম, কারণ এটি র্যান্ডম রিড অপারেশনের জন্য অত্যন্ত কম লেটেন্সি রেসপন্স টাইম প্রদান করে, পাশাপাশি কম্প্যাকশন অপারেশনের জন্য পর্যাপ্ত সিকোয়েন্সিয়াল রাইট পারফর্ম্যান্সও প্রদান করে। এছাড়াও, এখানে রেপ্লিকেশন বিবেচনা করা হয়।
AWS EC2-তে অনেক ইনস্ট্যান্স লোকাল স্টোরেজ সহ আসে, যেখানে হার্ড ড্রাইভটি EC2 ইনস্ট্যান্স হোস্ট করা হার্ডওয়্যারের সাথে শারীরিকভাবে সংযুক্ত থাকে । প্রোডাকশনে Cassandra চালানোর সময় Apigee, SSD ও ইনস্ট্যান্স স্টোর, দু'টিই ব্যবহার করার সাজেশন দেয়। আপনি যখন ১টির বেশি SSD সহ কোনও ইনস্ট্যান্সের ধরন ব্যবহার করেন, তখন আরও থ্রুপুট এবং স্টোরেজ ক্ষমতা পেতে RAID0 ব্যবহার করতে পারেন।
নেটওয়ার্ক সংক্রান্ত প্রয়োজনীয়তা
নেটওয়ার্ক টপোলজি সম্পর্কে অন্যান্য নোডের সাথে তথ্য শেয়ার করার জন্য Cassandra, গসিপ প্রোটোকল ব্যবহার করে। Cassandra-র ডিস্ট্রিবিউট করা নেচার সহ Gossip-এর ব্যবহার — যার মধ্যে রিড ও রাইট অপারেশনের জন্য একাধিক নোডের সাথে কথা বলা — এর ফলে নেটওয়ার্কের মাধ্যমে প্রচুর ডেটা ট্রান্সফার হয়। Apigee অন্তত 1Gbps নেটওয়ার্ক ব্যান্ডউইথ সহ ইনস্ট্যান্সের ধরন ব্যবহার করার সাজেশন দেয় এবং প্রোডাকশন সিস্টেমের জন্য 1Gbps-এর বেশি।
/16 CIDR সহ VPC ব্যবহার করুন। AWS-এ সাবনেট ১টির বেশি AZ জুড়ে থাকতে পারে না বলে, Apigee নিম্নলিখিত পরামর্শ দেয়:
- প্রতিটি অ্যাভলেবিলিটি জোনে (AZ) ১টি করে সাবনেট তৈরি করুন
- আপনার Apigee ইনস্টলেশনের জন্য ৩টি প্রাইভেট সাবনেট ব্যবহার করুন, প্রতিটি AZ-তে একটি করে Cassandra নোড থাকবে। Cassandra ক্লাস্টারের হরাইজন্টাল এক্সপ্যানশনকে জায়গা দেওয়ার জন্য ৩টি সাবনেটে যথেষ্ট CIDR ব্লক থাকতে হবে।
- সফ্টওয়্যার ডাউনলোড এবং নিরাপত্তা আপডেটের জন্য ইন্টারনেটের সাথে যোগাযোগ করতে Cassandra-এর জন্য ডেডিকেটেড NAT সহ ৩টি পাবলিক সাবনেট কনফিগার করুন।
পুরনো মাস্টার-স্লেভ আর্কিটেকচারের মতো নয়, Cassandra-তে মাস্টার-লেস আর্কিটেকচার আছে, যেখানে সব নোড একই ভূমিকা পালন করে, তাই কোনও একটি নোড কাজ না করলে পুরো সিস্টেম বন্ধ হয়ে যায় না। হাই অ্যাভেলিবিলিটি চালু করতে, একাধিক AZ জুড়ে আপনার Cassandra নোড স্প্রেড করার কথা বিবেচনা করুন। AZ জুড়ে নোড স্প্রেড করার মাধ্যমে, আপনি দুর্যোগের ক্ষেত্রেও উপলভ্যতা ও আপটাইম বজায় রাখতে পারবেন।
ইনস্ট্যান্স ফ্যামিলি বেছে নেওয়া
Cassandra-র CPU সংক্রান্ত প্রয়োজনীয়তা দেখার সময়, এটি মনে রাখা দরকার যে ইনসার্ট-ইনটেনসিভ ওয়ার্কলোড IO-বাউন্ড হওয়ার আগে Cassandra-তে CPU-বাউন্ড হয়। অন্যভাবে বলতে গেলে, সব রাইট অপারেশন কমিট লগে যায়, কিন্তু Cassandra এত দক্ষতার সাথে লেখে যে CPU সীমাবদ্ধতা তৈরি করে। Cassandra অত্যন্ত কনকারেন্ট এবং যতগুলি সিপিইউ কোর উপলভ্য থাকে ততগুলিই ব্যবহার করে।
Apigee এমন একটি ইনস্ট্যান্স ফ্যামিলি ব্যবহার করার সাজেশন দেয়, যেখানে CPU ও মেমরি দুটিরই ব্যালেন্স থাকে। বিশেষত, আপনার AWS অঞ্চলে উপলভ্য থাকলে C5 ফ্যামিলি ইনস্ট্যান্স এবং ফল ব্যাক বিকল্প হিসেবে C3 ব্যবহার করার জন্য সাজেস্ট করা হয়। কিছু ক্ষেত্রে, 4xlarge হল উভয় ফ্যামিলির অপ্টিমাল ইনস্ট্যান্স যা সেরা দাম/পারফর্ম্যান্স প্রদান করে।
এছাড়াও, Apigee, Cassandra ইনস্ট্যান্সের জন্য ডিফল্ট টেনেন্সি ব্যবহার করার সাজেশন দেয়। আপনি যখন কোনও AZ-তে ১টির বেশি ইনস্ট্যান্স স্কেল করেন, তখন আপনি যদি টেনেন্সি ডেডিকেট করা হিসেবে সেট করেন, তাহলে আপনার বেশিরভাগ Cassandra ইনস্ট্যান্স একই আন্ডারলাইং হার্ডওয়্যারে প্লেস করা হবে। তাই, হার্ডওয়্যার কাজ না করলে, আপনি সম্ভবত সেই AZ-তে আপনার সমস্ত ইনস্ট্যান্স হারাবেন।
সাজেশনের সারসংক্ষেপ
প্রাইভেট ক্লাউডের জন্য Apigee Edge-এর সাথে AWS ব্যবহার করার জন্য Apigee-এর দেওয়া পরামর্শের সারসংক্ষেপ নিচে দেওয়া হল:
| ইনস্ট্যান্স ফ্যামিলি | C5d (পছন্দসই ) বা C3 |
| ইনস্ট্যান্সের ধরন | C(x).4xlarge |
| ইনস্ট্যান্স স্টোর | RAID0 সহ SSD (লোকাল স্টোরেজ) |
| টেনেন্সি ধরন | ডিফল্ট |
| নোড প্লেসমেন্ট | প্রতিটি AZ-তে ১টি করে Cassandra নোড |
| VPC ও সাবনেট | প্রতিটি AZ-তে ১টি করে সাবনেট এবং প্রতিটি অঞ্চলে ১টি করে VPC |
আরও তথ্যের জন্য, Amazon ইনস্ট্যান্সের ধরন দেখুন।