ماهو ال High Availability!
هو مصطلح يقصد به التغلب على المشاكل التي من شأنها ان تجعل الموقع الخاص بك غير متاح , مثل مشاكل أعطال الهاردوير , أو مشاكل الشبكات أو حتى مشاكل هجوم حجب الخدمة DDoss Attack والإغراق. كذلك تضمن عدم حدوث أي فقد للبيانات عند تعطل أحد أجزاء المنظومة
يمكن تنفيذ ال High Availability على مستوى الخدمات المستقلة , فمثلا يمكن إعداد ال Database Server ليعمل بنظام ال High Availability وبالتالي لا يحدث توقف لقواعد بيانات المواقع في حالة تعطل أحد خوادم قواعد البيانات , ولا يحدث أي فقد للبيانات في حال حدث التوقف . كذلك يمكن تنفيذ ال High Availability لكل الخدمات في آن واحد بالتكامل مع بعضها , وبالتالي نضمن عدم توقف أي خدمة عند تعطل جزء أو أكثر من المنظومة .
في هذه التدوينة , سنتحدث عن أحد أهم مكونات ال High Availability بالنسبة لخادم قواعد البيانات . سنقوم بشرح مبسط لسيرفر ال Percona XtraDB Cluster وكيفية استخدامه في الحصول على تواجد عالي لقواعد البيانات, وضمان عدم تلف أو فقد البيانات في حالة تعطل أحد خوادم قواعد البيانات ولكن اولا يجب التعرف على معنى اكثر من مصطلح ومنهم :
ماهو ال Percona Server :
هو Drop-in replacement لل MySQL ( بديل للـ MySQL ) والذي يوفر أداء أفضل مقارنة بالـ MySQL كذلك يمكن التوافق مع Percona XtraBackup بسهولة تامة وهي ما توفره ال Hot-Backupsكذلك الاعتماد على ال Galera ك Multi-master Cluster وهو ما يعني انه يمكن اعداد أكثر من خادم رئيسي لكتابة البيانات , بدلا من السيناريو القديم الذي توفره الحلول الأخرى والذي يعتمد على خادم واحد رئيسي فقط للكتابة, بينما بقية الخوادم في المنظومة تكون للقراءة . وهو ما سيتم توضيحه في الفقرة التالية .
ماهو ال Split Brain :
Split Brainهي أحد المشاكل التي تظهر فقط في بيئة ال High Availability والتي تعني وجود اختلاف في البيانات بين سيرفرات منظومة ال High Availability بينما من المفترض ان تكون جميع النسخ متوافقة تماما , تحدث هذه المشكلة في حال وجود أكثر من سيرفر رئيسي Multi Master يتم كتابة البيانات عليه , وأثناء كتابة البيانات تحدث احد مشاكل الاتصال الداخلي بين أحد السيرفرات الرئيسية وبين بقية سيرفرات المنظومة , وبالتالي كل البيانات التي يتم كتابتها في السيرفر الذي فقد الاتصال ببقية المنظومة ستكون مختلفة عن بقية البيانات التي توجد في بقية المنظومة وسيظهر هذا الاختلاف عند اعادة تواصل السيرفر مع المنظومة مرة أخرى تخيل ان يقوم عضوين مختلفين بالتسجيل في منتدى مثلا يعمل على قاعدة بيانات تعرضت لمشكلة split brain وان عملية التسجيل تمت في نفس الوقت , ولكن بسبب توجيه العضو الأول الى سيرفر يختلف عن العضو الثاني , وبدلا من ان تكون هناك عملية مزامنة بين السيرفرين حدثت مشكلة في الشبكة الداخلية التي تربط السيرفرين ببعضهما في نفس المنظومة , ستكون النتيجة ان يتم تسجيل كل عضو ببيانات مختلفة ولكن بنفس ال ID !! .
والان نتعرف على اهم مميزات ال Percona Server ؟
لاحظ في الصورة التالية المخطط التالي الذي يتم الاعتماد عليه في أكثر أنظمة ال High Availability لاحظ انه يتم الاعتماد على خادم واحد فقط رئيسي Master لكتابة البيانات , بينما بقية الخوادم تعمل ك slaves ليتم قراءة البيانات من عليها , هذه الطريقة يتم الاعتماد عليها للتخلص من مشكلة ال split brain التي تم توضيحها في الفقرة السابقة , عيوب هذه الطريقة أنك ستحتاج الى ضبط البرمجة الخاصة بالاسكربت أو التطبيق لديك لتقوم بالاتصال بالسيرفر ال Master للقيام بعملية كتابة البيانات , بينما يتم الاتصال بالسيرفرات ال slave للقيام بعملية قراءة البيانات , الورد بريس يمكن أن يدعم حالة ال single master عن طريق الاضافة hyperdb plugin , هنا تظهر أحد مميزات ال Percona Server والتي يمكن الاعتماد عليها في انشاء نظام High Availability يدعم ال Multi Master Cluster وبالتالي توفير بيئة Clustering بدون الحاجة لاضافات خارجية أو تعديلات برمجية في الاسكربتات أو التطبيقات المختلفة .
ال Percona تستخدم ال Galera كحكم وموزع , وهو ما يمنع مثل هذه الأخطاء (Split Brain) ويتم تحديد السيرفر الذي يحوي البيانات الصحيحة بشكل لحظي , ويتم تحديث بقية السيرفرات منه , أو يمكن استخدام عدد فردي من السيرفرات داخل المنظومة ( 3 , 5 , 7 , …) بدون الحاجة لوضع ال Galera على سيرفر مستقل , ستتوقف المنظومة في هذه الحالة عند وجود مشكلة في التواصل مع بقية السيرفرات , وهو على أي حال أفضل بكثير من وجود اختلاف في قاعدة البيانات من سيرفر لأخر .
لهاذا نقدم فى سيرفرات ديموفنف الكثير من حلول ال High Availability بشكل مدار بالكامل و بما يتناسب مع طبيعة عمل المواقع , ومع الميزانية المتاحة والمحددة من قبل العميل , لذلك ان كان موقعك على الانترنت يحتوي على بيانات هامة , لا يمكن تعريضها لخطر التلف أو الفقد أو ان كانت طبيعة عمل موقعك على الانترنت تتطلب تواجد عالي بنسبة 100% فلا تتردد في التواصل معنا مباشرة , لنقوم بتزويدك بأفضل حلول High Availability المتاحة والمتوافقة مع طبيعة عمل الموقع الخاص بك وانتظر الجزء الثانى من المقالة والتى توضح خطوات بناء منظومة High Availability تعمل بال Percona Xtradb CLuster .
المصدر : Hosting Support م/عمرو سمير
Author: Dimofinf Ltd.
https://www.dimofinf.net