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