ওয়েব অ্যাপ্লিকেশনটির জন্য আমার একাধিক পোস্টগ্রাএসকিউএল সার্ভার রয়েছে। সাধারণত হট স্ট্যান্ডবাই মোডে এক মাস্টার এবং একাধিক ক্রীতদাস (অ্যাসিনক্রোনাস স্ট্রিমিং প্রতিরূপ)।
আমি সংযোগ পুলিংয়ের জন্য পিজিবিউনার ব্যবহার করি: প্রতিটি পিজি সার্ভারে একটি ইনস্টল ইনস্টল করা হয়েছে (পোর্ট 6432) লোকালহোস্টের ডাটাবেসে সংযোগ স্থাপন করে। আমি লেনদেন পুল মোড ব্যবহার করি।
দাসদের উপর আমার পঠনযোগ্য সংযোগগুলি ভারসাম্য বজায় রাখার জন্য, আমি কম-বেশি এইরকম একটি কনফিড সহ HAProxy (v1.5) ব্যবহার করি:
listen pgsql_pool 0.0.0.0:10001
mode tcp
option pgsql-check user ha
balance roundrobin
server master 10.0.0.1:6432 check backup
server slave1 10.0.0.2:6432 check
server slave2 10.0.0.3:6432 check
server slave3 10.0.0.4:6432 check
সুতরাং, আমার ওয়েব অ্যাপ্লিকেশনটি হ্যাপ্রোক্সির সাথে সংযোগ স্থাপন করে (পোর্ট 10001), প্রতিটি পিজি স্লেভটিতে কনফিগার করা একাধিক পিজবাউন্টারের লোড-ব্যালেন্স সংযোগগুলি।
এখানে আমার বর্তমান স্থাপত্যের একটি উপস্থাপনা গ্রাফ রয়েছে:
এটি এর মতো বেশ ভালভাবে কাজ করে তবে আমি বুঝতে পারি যে কিছু কিছু একে একে অন্যরকমভাবে প্রয়োগ করে: ওয়েব অ্যাপ্লিকেশন এমন একক পিজিবিউনসার উদাহরণের সাথে সংযোগ করে যা একাধিক পিজি সার্ভারের মধ্যে লোড-ব্যালেন্সকে HAproxy এর সাথে সংযুক্ত করে:
সেরা পদ্ধতির কি? প্রথমটি (আমার বর্তমান) বা দ্বিতীয়টি? অন্য সমাধানের কোনও সমাধানের কি কোনও সুবিধা আছে?
ধন্যবাদ