লোড ব্যালেন্সার বনাম সংযোগ পুলিং - কোনও পার্থক্য আছে কি?


11

আমি এমন একটি প্রকল্পে কাজ করছি যা লঞ্চের খুব শীঘ্রই লক্ষ লক্ষ ব্যবহারকারীদের পরিষেবা দেবে বলে আশা করা হচ্ছে। ডাটাবেসটি পোস্টগ্রিজ, এবং আমি এখন ধরে নিচ্ছি যে কমপক্ষে দুটি সার্ভারের প্রয়োজন হবে। একজন সিস্টম অ্যাডমিন (যিনি পরিষ্কারভাবে স্কেলযোগ্য সিস্টেমগুলিতে পারদর্শী) ওয়েব সার্ভার এবং ডাটাবেস সার্ভারগুলির মধ্যে লোড ব্যালেন্সার রাখার পরামর্শ দিয়েছেন।

আমার প্রশ্নটি ভারসাম্য ভার্সেস বনাম সংযোগ পুলিংয়ের পার্থক্যের বিষয়ে। পারফরম্যান্স বজায় রাখার জন্য, আমি কি এক বা অন্য, বা উভয়ের দিকে তাকিয়ে থাকব?


তারা প্রায় একই জিনিস। পিজবিউনসার প্রস্তাবিত পুলার, পিজপুল II-র আরও বৈশিষ্ট্য রয়েছে তবে সেটআপ করা আরও জটিল।
স্কট মার্লো

উত্তর:


7

পোস্টগ্রেএসকিউএল-এর সাথে আপনার দুটি পৃথক ক্ষেত্র রয়েছে যা পুলিং করতে পারে অ্যাপ্লিকেশন স্তরে (যেমন পুলিং ইত্যাদিতে জেডিবিসি নির্মিত) অথবা অ্যাপ্লিকেশন এবং ডিবি (গুলি) এর মধ্যে বসে একটি মধ্যবর্তী স্তরতে, যেমন পিজবিউনসার বা পিজপুল।

আপনি যদি পিজবউনসার বা পিজপুলের মতো একটি মধ্যবর্তী স্তরটিতে পুলিং করেন তবে সেই স্তরটি নির্বাচিত অনুসন্ধানগুলির লোড ব্যালেন্সিং করতে পারে। লোড ব্যালেন্সিংয়ের সময়, আপনি দুটি উপায়ে যেকোন একটিতে লিখতে পারেন: আপনার একক রাইটিং মাস্টার থাকতে পারে যা আপনার পঠিত দাসদের কাছে অন্য উপায়ে প্রতিলিপি করে, স্লোনির মতো একটি সরঞ্জাম ব্যবহার করে বা পেজ 9.0 এ প্রদর্শিত স্ট্রিমিংয়ের প্রতিরূপ ব্যবহার করে এবং উপরে, বা আপনার সমস্ত ভার ভারসাম্য রচনা করতে পারে, যাতে আগত পাঠাগুলি কেবলমাত্র একটি ডিবিতে আঘাত করে, তবে সেগুলি সমস্ত আপডেট রাখার জন্য প্রতিটি ডাটাবেসকে হিট করে।

বা যদি আপনি অ্যাডভেঞ্চারস হন তবে আপনি লোপ ব্যালেন্সিং স্তরটিকে অন্য স্তরের নীচে পোলগ্রক্সি ব্যবহার করে পোস্টগ্রেস্কেএল এ স্থানান্তর করতে পারেন। এটি pgsql এর জন্য একটি pl ভাষা যা আপনাকে একেবারে শেষ প্রান্তে একটি পিজি ডাটাবেস রাখার মঞ্জুরি দেওয়ার জন্য ডিজাইন করা হয়েছে যার কোনও প্রকৃত ডেটা নেই এবং সেই ডাটাবেসটি অবিশ্বাস্য থ্রুপুট জন্য একাধিক সম্ভবত রিডানড্যান্ট ডিবিএসের শীর্ষে চলতে পারে। plpoxy সেট আপ এবং চলমান পেতে বেশ জটিল তবে এটি পাশাপাশি বেশ স্কেলযোগ্য। নোট করুন যে আপনার অ্যাপ্লিকেশনটিকে সমর্থন করার জন্য এটি পুনরায় লিখতে হবে যাতে এটি কোনও পুরানো অ্যাপ্লিকেশনের অধীনে টস করা যায় না এবং কেবল কাজ করতে পারে।

http://slony.info/ http://wiki.postgresql.org/wiki/PL/Proxy http://pgpool.projects.postgresql.org/


3

লোড ব্যালেন্সিং এবং সংযোগ পুলিং দুটি খুব আলাদা জিনিস।

সংযোগ পুলিং (আমি বিশ্বের একটি মাইক্রোসফ্ট দিক থেকে আসছি, তবে বিষয়গুলি আমি অনুমান করি একই রকম) অ্যাপ্লিকেশনটিকে ডাটাবেসের সংযোগটি উন্মুক্ত রাখতে দেয় যাতে এটি সংযোগ বিচ্ছিন্ন ও পুনরায় সংযোগ না করে পরবর্তী প্রশ্নের জন্য পুনরায় ব্যবহার করতে পারে প্রতিটি ক্যোয়ারির জন্য যা চালানো দরকার।

লোড ব্যালেন্সিং আপনাকে লোড ব্যালান্সারের পিছনে একাধিক ডাটাবেস সার্ভার রাখার অনুমতি দেয় যাতে আপনি একক সার্ভারের সমস্ত কাজ পরিচালনা করার পরিবর্তে একাধিক সার্ভারে লোডটি ছড়িয়ে দিতে পারেন।

আপনি লোড ব্যালেন্সিংয়ের সাথে সংযোগ পুলিং ব্যবহার করতে পারেন তবে মনে রাখবেন যে সংযোগগুলি কখনই ছাড়বে না আপনি দুটি ডাটাবেস সার্ভারের মধ্যে একটি ভারসাম্যহীন লোডটি শেষ করতে পারেন।

যদি কোনও একক ডাটাবেস সার্ভার অ্যাপ্লিকেশনটির লোড পরিচালনা করতে না পারে তবে 3 টি সার্ভার সেখানে ফিরে পান। এইভাবে আপনি অ্যাপটি ক্রাশ না করে প্রয়োজনীয় হিসাবে একটিটিকে রিবুট করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.