আমি বর্তমানে একটি অনুরূপ সিস্টেম স্থাপন করছি (পেশাদার পর্যায়ে) এবং এটি আমি বেছে নিয়েছি এমন নকশা:
- দুটি এনগিনেক্স লোডবালেন্সার (উভয় সক্রিয়, অন্যটির জন্য উভয়ই ব্যর্থতা, ডিএনএস রাউন্ড রবিনের সাথে ভারসাম্যপূর্ণ)
- মাস্টার মাস্টার প্রতিলিপি মোডে দুটি মাইএসকিউএল ডেটাবেস
- টমক্যাট ক্লাস্টার হিসাবে দুটি টমকেট দৃষ্টান্ত
- টমক্যাট ক্লাস্টারের জন্য ক্যাচিং এবং সেশনের স্থিতি ভাগ করে নেওয়ার জন্য দুটি মেমক্যাচড দৃষ্টান্ত
এটি একটি নিরর্থক, উচ্চ প্রাপ্যতা, স্কেলযোগ্য সমাধান অর্জন করবে।
লোডবালেন্সারগুলি (শালীন হার্ডওয়্যারে) সহজেই প্রতিটি একটি স্যাচুরেটেড 1 গিগাবাইট লাইন লোডবালেন্স করবে। এটি এসএসএল অফলোডিংয়ের জন্যও দুর্দান্ত জায়গা।
আপনি আপনার সেশন তথ্য মেমচেড এ সংরক্ষণ করতে পারেন। যদি কোনও টমক্যাট উদাহরণটি ব্যর্থ হয়, অন্য টমক্যাট উদাহরণটি প্রাসঙ্গিক সেশন সম্পর্কিত তথ্য পুনরুদ্ধার করতে পারে এবং ক্লায়েন্টরা কোনও জিনিস লক্ষ্য করবে না। এটিও স্টিকি সেশনগুলির সাথে একত্রিত করতে ভুলবেন না। (নেটওয়ার্ক ট্র্যাফিক নিচে রাখতে)
টমক্যাট ক্লাস্টারিংয়ে মেমক্যাচড ব্যবহার না করে রিয়েল টাইমে ক্লাস্টারের মধ্যে সেশন তথ্য ভাগ করে নেওয়ার বিকল্প রয়েছে। যদিও আমি পারফরম্যান্স বুদ্ধিমান মনে করি, মেমক্যাচড ব্যবহার করা আরও ভাল হবে।
আপনার যদি এই অ্যাপ্লিকেশনগুলির কোনওটিতে আরও পাওয়ার প্রয়োজন হয়:
- এনগিনেক্স: আরও লোডবালেন্সার যুক্ত করুন, যদিও আমি মনে করি না যে খুব শীঘ্রই এটি অচল হয়ে যাবে।
- টমক্যাট: আপনি সহজেই টমক্যাট ক্লাস্টারের আকার বাড়াতে বা আরও ক্লাস্টার যুক্ত করতে পারেন
- মাইএসকিএল: কিছু পঠনযোগ্য কেবল ক্রীতদাস যুক্ত করুন বা ক্লাস্টারের আকার বাড়ান (আপনার প্রয়োগের উপর নির্ভর করে তবে আপনি যেহেতু একটি রেস্ট-ভিত্তিক অ্যাপ্লিকেশন লিখেছেন তাই সমস্যা হওয়া উচিত নয়)
- মেমক্যাচড: আরও নোড যুক্ত করুন, মেমক্যাচড স্কেলগুলি আমি বিশ্বাস করি well
আমি জানি না আপনার অ্যাপ্লিকেশনটি কীভাবে তৈরি হয় এবং বড় সংস্থানগুলির হোগগুলি কী, তবে আপনি যদি একটি উচ্চ ডাটাবেস লোড দেখতে পান (আপনার লোডসেটের সময়!), অ্যাপ্লিকেশন এবং ডাটাবেসের মধ্যে একটি ক্যাশ যুক্ত করা অবশ্যই কার্যকারিতা অনেক উন্নত করতে পারে। তবে ভুলে যাবেন না যে সমস্ত কিছু ক্যাশেযোগ্য নয়, যদি আপনার অনুসন্ধানগুলি সর্বদা পৃথক থাকে তবে ক্যাশে সাহায্য করবে না (অনেক)
আমার পরামর্শটি হ'ল ভিএমওয়্যার ওয়ার্কবেঞ্চ (বা সিমিলির ভার্চুয়ালাইজেশন সফ্টওয়্যার) ডাউনলোড করে একটি সহজ সেটআপ তৈরি করার চেষ্টা করা হবে। কোনও লোডব্যালেন্সিং বা ক্লাস্টারিং নেই, কেবলমাত্র বেসিক এবং সেখান থেকে কাজ করুন। একে একে আরও বৈশিষ্ট্য যুক্ত করুন (ভারসাম্য, ক্যাশিং, ক্লাস্টারিং ইত্যাদি) এবং প্রতিটি বিষয় নিয়ে কিছু গবেষণা করার বিষয়টি নিশ্চিত করুন, যাতে আপনি জানতে পারবেন যে আপনি সঠিক বাছাই করেছেন।
যদি আপনি এই প্রক্রিয়া চলাকালীন একই পারফরম্যান্স পরীক্ষা চালিয়ে যান, আপনি নিজের জন্য দেখতে পারেন যে যদি আপনার সেটআপে ওয়াই ব্যবহার করার চেয়ে এক্স ব্যবহার করা ভাল হয় , বা ক্যাশিংয়ের কী প্রভাব ফেলবে ইত্যাদি using
শেষ অবধি, এর মতো একটি সেটআপ আপনার অ্যাপ্লিকেশন এবং এর ক্লায়েন্টগুলির প্রয়োজনীয়তার উপর নির্ভর করে, সবকিছু তার নিজস্ব শক্তি এবং দুর্বলতাগুলির সাথে বিভিন্ন উপায়ে করা যায়।
আর কোন প্রশ্ন?
শুভকামনা!
ওয়েসলি