ড্রুপাল মাস্টার / স্লেভ রেপ্লিকেশন


10

আমি ড্রপাল ডাটাবেসের জন্য মাস্টার / স্লেভ প্রতিরূপের সাথে দুটি মাইএসকিউএল সার্ভার সেটআপ করেছি এবং আমি নিশ্চিত করেছি যে ডাটাবেসগুলি সিঙ্ক এবং প্রতিরূপে রয়েছে।

আমি এখন মূলত ব্যর্থতা / অপ্রয়োজনীয় উদ্দেশ্যে উভয় ডাটাবেসে ড্রুপাল নির্দেশ করার চেষ্টা করছি। এটি হ'ল যদি আমাদের আমাদের প্রাথমিক ডাটাবেস সার্ভারটি পুনরায় বুট করতে হয় তবে আমি চাই না যে আমাদের সাইটটি নীচে নেমে যেতে পারে। (কেবলমাত্র পঠনযোগ্য হওয়া ব্যর্থতার দৃশ্যের সময় গ্রহণযোগ্য)

নিম্নলিখিত নিবন্ধের উপর ভিত্তি করে । আমি settings.phpনিম্নলিখিত হিসাবে পরিবর্তন করেছি :

$databases['default']['default'] = array(
  'driver' => 'mysql',
  'database' => 'sdrupal',
  'username' => 'drupal',
  'password' => 'topsecret',
  'host' => 'masterdb.ptp.local',
);
$databases['default']['slave'][] = array(
  'driver' => 'mysql',
  'database' => 'sdrupal',
  'username' => 'drupal',
  'password' => 'topsecret',
  'host' => 'slavedb.ptp.local',
);

আমি মাস্টারটি বন্ধ না করা অবধি কনফিগারেশনটি ঠিক আছে (সার্ভিস মাইকিকিএলডি স্টপ) - যখন আমি এটি করি যে আমার সাইটটি ছুঁড়েছে:

PDOException: SQLSTATE [HY000] [2013] 'প্রাথমিক যোগাযোগের প্যাকেট পড়তে' মাইএসকিউএল সার্ভারের সাথে সংযোগ হারিয়েছে, সিস্টেমের ত্রুটি: 111 drupal_is_denied () -র (www.www/includes/bootstrap.inc এর লাইন 1895)। অতিরিক্ত

PDOException: SQLSTATE [HY000] [2013] 'প্রাথমিক যোগাযোগের প্যাকেট পড়তে' মাইএসকিউএল সার্ভারের সাথে সংযোগ হারিয়েছে, সিস্টেম ত্রুটি: dblog_watchdog () -র 111 (/www/modules/dblog/dblog.module এর লাইন 141)।

এই কাজটি করার কৌশলটি কী?

উত্তর:


6

মাস্টার / মাস্টার সম্পর্কিত (উচ্চ প্রাপ্যতা) কোনও মাস্টার নিচে না থাকলে লোড-ব্যালেন্সিং করা সম্ভব।

নিম্নলিখিতগুলি সমস্ত লেখককে মাস্টার 1 এ এবং সমস্ত পাঠক মাস্টার 2 এ যাবে। যদি মাস্টার 1 ব্যর্থ হয় তবে সমস্ত প্রশ্নগুলি মাস্টার 2 এ যাবে। যদি মাস্টার 2 ব্যর্থ হয় তবে সমস্ত প্রশ্ন মাস্টার 1 এ যাবে।

'master' => array('master1', 'master2')
'slave' => array('master2', 'master1')

নিম্নলিখিতটি সমস্ত প্রশ্নকে মাস্টার 1 এ যাবে। যদি মাস্টার 1 সমস্ত ব্যর্থতা ব্যর্থ হয় তবে মাস্টার 2 এ যাবে:

'master' => array('master1', 'master2')
'slave' => array('master1', 'master2')

এই উত্তরের জন্য আপনাকে ধন্যবাদ। আমি বুঝতে পারি এটি বেশ পুরানো এবং সম্ভবত পুরানো। দ্রুপালের সর্বশেষ সংস্করণে একই বাস্তবায়নের জন্য আপনার কাছে কি কোনও টিপস রয়েছে?
গৌরব ওঝা

4

অন্যের উপকারের জন্য - আমি যতটা ভাল খুঁজে পেতে পেরেছি - ড্রুপাল 7 বাক্সের বাইরে কোনও ডাটাবেস উচ্চ প্রাপ্যতার ক্ষমতা অন্তর্নির্মিত বলে মনে হয় না।

আপনি একটি মাস্টার / স্লেভ কনফিগারেশনে দুটি মাইএসকিএল সার্ভার সেটআপ করতে পারেন তবে সর্বোত্তম এটি যা করণীয় তা হ'ল মাস্টারকে সমস্ত লেখাগুলি প্রেরণ করা এবং সমস্ত দাসকে পাঠানো। এটি অপরিশোধিত লোড বিতরণ সরবরাহ করে না

এর অর্থ যদি মাস্টার মাইএসকিএল সার্ভারটি নিচে যায় তবে সমস্ত বেট বন্ধ রয়েছে - পিএইচপি মাস্টার ডাটাবেসে পৌঁছতে পারে না এমন অভিযোগ করে সাইটটি একটি কুৎসিত ত্রুটি বার্তাটি সহ নেমে যায়।

Ditionতিহ্যগতভাবে, আমি যেমন বুঝতে পেরেছি, অন্যান্য সফ্টওয়্যার দিয়ে এটি মোকাবেলার উপায়টি হয় মাইএসকিএল এনডিবি ক্লাস্টার বা মাইএসকিএল প্রক্সি ব্যবহার করা - তবে কিছুটা পড়ার পরে - এই প্রযুক্তিগুলি দৃশ্যত দ্রুপালের সাথে ভাল খেলছে না।

তবে আমি অটোর-ক্রীতদাস নামে পরিচিত একটি ড্রুপাল মডিউলে হোঁচট খেয়েছি ( http://drupal.org/project/autoslave )। এটি ব্যাপকভাবে ব্যবহৃত হয় না (সেখানে পরিসংখ্যান অনুসারে 12 টি সাইট সক্রিয়ভাবে এটি ব্যবহার করছে) তবে আমরা যা চাই তা করতে সক্ষম হতে পারে বলে মনে হয়। এটি বিভিন্ন উপায়ে কনফিগার করা যেতে পারে:

মাস্টার স্লেভ

Writes go to Master
Reads go to Slave

Drawbacks:
If master is down, the durpal site displays a prominent message that the site is in "read only" mode.

মাস্টার / মাস্টার (উচ্চ প্রাপ্যতা)

Read and Writes go to master1 (primary) unless its unavailable.
If master1 is unavailable, reads and writes go to master2 (secondary)

Drawbacks:
There is no load distribution. All load (reads and writes) go to either master1 or to master2

মাস্টার / মাস্টার / স্লেভ (উচ্চ প্রাপ্যতা / উচ্চ কার্যকারিতা)

Writes go to Master1 (primary) unless its down then they go to Master2
Reads go to the slave unless its down
Drawbacks:
Requires a minimum of three database servers (master/master/slave)

এখনও অবধি আমরা সফলভাবে প্রথম (মাস্টার / স্লেভ) সেটআপ করেছি। আমি পরবর্তী মাস্টার / মাস্টার / স্লেভ সেটআপ করার চেষ্টা করতে যাচ্ছি।

আশা করি এটি অন্য কাউকে সাহায্য করবে।


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