প্রশ্ন মাইএসকিউএল / বেশিরভাগ MyISAM টেবিল জন্য HA সেটআপ


আমি বর্তমানে মাস্টার-স্লেভ প্রতিলিপি ব্যবহার করছি, অ্যাপ্লিকেশনের স্তরে লেখা থেকে আলাদা আলাদা করে। বর্তমানে একমাত্র ব্যর্থ ব্যর্থতা মাস্টার ব্যর্থতার অ্যাপ্লিকেশন স্তর সনাক্তকরণ, ক্রীতদাসকে নতুন মাস্টার তৈরি করে যাতে অ্যাপ্লিকেশনটি নিরবচ্ছিন্নভাবে চলতে পারে। যেহেতু কেউ অনুমান করতে পারে, এটি ফিরে স্যুইচ করতে, সিঙ্ক করতে, আরও সুশৃঙ্খল এবং আরও অনেক কিছু করার জন্য।

আমি অনেক অনুসন্ধান করেছি এবং কয়েক ডজন নিবন্ধ পড়েছি, তবে এইচআই মাইএসকিউএল এর সমাধানের জন্য আমি কোন সমাধান পাইনি, যদি আপনার বেশিরভাগই মাইআইএসএএম টেবিল, মাইস্কল ক্লাস্টার, হার্টবিট / ডিআরবিডি, স্কুনার, এইগুলি ইনোডবি-কেবলমাত্র সেটআপগুলির জন্য ঠিক আছে তবে MyISAM জন্য উপযুক্ত নয়।

আমি HA Setups সঙ্গে কিছু পরামর্শ বা বাস্তব বিশ্বের অভিজ্ঞতা কৃতজ্ঞ হবে। এটি মুক্ত-উৎস হতে হবে না (বিনামূল্যে পড়া), এটি কেবল কাজ করতে হবে।


6
2018-01-30 22:13


উত্স


আপনি MySQL মধ্যে বহু-মাস্টার প্রতিলিপি চেষ্টা করেছেন? - Khaled
আমি মাস্টার-মাস্টার প্রতিলিপি চেষ্টা করেছিলাম কারণ কোনও ছোট অনিশ্চয়তা উদ্দীপিত হবে। এখন পর্যন্ত, MySQL প্রতিলিপিটি এখনও একটু ক্ষিপ্ত, আমি মাস্টার-মাস্টার সেটআপে এটির উপর নির্ভর করতে চাই না। - Niko S P
@ নিকোএসপি: আমি বলব যে ওএস স্তরে কাজ করা যে কোনও প্রক্রিয়া আরো তীব্র হতে যাচ্ছে। - Hubert Kario
এটি 5.0.x থেকে 5.1.x পর্যন্ত অনেক ভাল পায় এবং তারপরে আরও বড় লাফ 5.5 হয় যা নির্ভরযোগ্যতার জন্য আরও ভাল। - Tom H
@ টমহঃ আমি বর্তমানে 5.1.51 ব্যবহার করছি, 5.5 এর মধ্যে আরও নির্ভরযোগ্য প্রতিলিপি সম্পর্কিত আপনার কোন উত্স আছে? চেঞ্জেলগটি আধা-সমান্তরাল পদ্ধতি ব্যতীত প্রতিলিপি প্রক্রিয়াতে উল্লেখযোগ্য পরিবর্তনগুলি প্রকাশ করে না - Niko S P


উত্তর:


আমরা বিজ্ঞপ্তি প্রতিলিপি সঙ্গে মিলিত এমএমএম ব্যবহার করুন।

আমাদের দুটি মাইএসকিউএল সার্ভার রয়েছে (foo-db1, foo-db2) এবং প্রতিটি একে অপরের কাছে স্লেভ করা হয়েছে, সুতরাং যেকোনো একটি আপডেট অন্যকে পাঠানো হবে:

http://onlamp.com/onlamp/2006/04/20/advanced-mysql-replication.html

এখন প্রতিটি ইনস্ট্যান্সের ডেটা আছে, আমরা দেখেছি যে এটি সর্বোত্তম যা শুধুমাত্র একটিতে যায়। এটি সম্পন্ন করতে আমরা একটি পৃথক পরিষেবা হোস্টনাম (foo-db) এর অধীনে একটি ভার্চুয়াল আইপি (ভিআইপি) তৈরি করি যা ক্লায়েন্টগুলি INSERT এবং UPDATEs এ পাঠায়। ডেবিয়ান এর অধীনে আপনি "mysql-mmm-agent" প্যাকেজ ইনস্টল করবেন এবং সাধারণত এই নির্দেশিকাটি অনুসরণ করবেন:

http://mysql-mmm.org/mmm2:guide

আমরা আমাদের ওয়েব সাইটগুলিতে এই কনফিগারেশনটি ব্যবহার করি: দুটি ফ্রন্ট-শেষ ওয়েব সার্ভার দুটি ব্যাক-ডেটা ডাটাবেস সার্ভারের সাথে কথা বলে। এমএমএম মনিটর ওয়েব সার্ভারগুলির একটিতে সঞ্চালিত হয় (যা হার্টবিট দ্বারা নির্ধারিত হয়):

www.howtoforge.com/high-availability-load-balancer-haproxy-heartbeat-debian-etch

সুতরাং সারসংক্ষেপে: দুই (বা আরো?) মাইএসকিউএল সার্ভার সিঙ্ক হয় তা নিশ্চিত করতে বৃত্তাকার প্রতিলিপি ব্যবহার করুন; এমএমএম ব্যবহার করুন যেখানে ডাটাবেস সেবা ভিআইপি জীবনযাপন করে; এমএমএম এজেন্ট শুধুমাত্র একবারে এক মেশিনে চালানোর জন্য হার্টবিট ব্যবহার করুন।


3
2018-02-02 14:04



দুঃখিত, আমি ভুল পড়া। - Aaron Brown
আপনি কিভাবে বিভক্ত মস্তিষ্কের পরিস্থিতিতে হ্যান্ডেল করবেন না? (উভয় পক্ষের ক্লায়েন্টদের সাথে হোস্টের মধ্যে E.G নেটওয়ার্ক আউটজেকশন) - Jon Skarpeteig