PmaControl logo PmaControl
  • مرحباً
  • PmaControl
    • وكلاء الذكاء الاصطناعي 13 وكلاء محليين
    • عروضنا المجتمع، السحابة، محليًا، المميز
    • التوثيق أدلة، API، الهندسة المعمارية
    • السوق المكونات الإضافية للمجتمع
    • عملاء أكثر من 28 شركة
    • الأسئلة الشائعة 25 سؤالا / 7 فئات
    قواعد البيانات
    • ماريا دي بي 31 مادة
    • ماي إس كيو إل 11 مادة
    • مجموعة جاليرا 6 عناصر
    • ماكس سكيل 3 عناصر
    • ProxySQL 2 عناصر
    • أمازون أورورا ماي إس كيو إل 0 العناصر
    • قاعدة بيانات أزور 0 العناصر
    • انقر البيت 0 العناصر
    • GCP CloudSQL 0 العناصر
    • بيركوناسيرفر 0 العناصر
    • متجر واحد 0 العناصر
    • تي دي بي 0 العناصر
    • سرعة 0 العناصر
    الحلول
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • Observabilité SQL المراقبة والتنبيهات والطوبولوجيا
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2
    • Migration & upgrade صفر توقف عن العمل، pt-osc، gh-ost
  • عروضنا
  • موارد
    • التوثيق الأدلة الفنية وواجهات برمجة التطبيقات
    • مركز تحسين MySQL مؤشر تخفيض السعر والمقاييس والإعدادات والحوادث
    • الأسئلة الشائعة 25 سؤالا متكررا
    • الشهادات ملاحظات العملاء وحالات الاستخدام
    • مدونة مقالات ورؤى
    • خريطة الطريق الميزات القادمة
    مجالات الخبرة
    • Observabilité SQL المراقبة والتنبيهات وطوبولوجيا Dot3
    • Haute disponibilité النسخ المتماثل، تجاوز الفشل، جاليرا
    • Sécurité & conformité التدقيق، اللائحة العامة لحماية البيانات، SOC2، ISO 27001
    • Disaster Recovery النسخ الاحتياطي والاستعادة، RPO/RTO
    • Performance & optimisation ملخصات، شرح، ضبط
    • Migration & upgrade صفر توقف عن العمل، pt-osc
    روابط سريعة
    • جيثب ويكي 26 صفحة - التثبيت والمحرك والمكونات الإضافية
    • كود المصدر مستودع جيثب الرسمي
    • دعم 24 × 7 حالات الطوارئ MariaDB وMySQL
    • احجز عرضًا توضيحيًا 30 دقيقة - هندسة معمارية حقيقية
  • دعم 24 × 7
  • احجز عرضًا توضيحيًا
احجز عرضًا توضيحيًا
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文 🇸🇦 AR العربية
← العودة إلى بلوق

Dot3: تعيين طوبولوجيا معقدة MariaDB / MySQL

تم النشر بتاريخ 21 مارس 2026 بواسطة Aurélien LEQUOY
pmacontrol topology graphviz proxysql architecture
يشارك X LinkedIn Facebook Email PDF
Dot3: تعيين طوبولوجيا معقدة MariaDB / MySQL

المشكلة: طبولوجيا غير مرئية

لديك 40 مثيلًا MariaDB / MySQL. بعضها في النسخ المتماثل السيد والعبد. آخرون في الماجستير الماجستير. مجموعة Galera مكونة من 5 عقد. اثنان ProxySQL في نظير إلى نظير. MaxScale لتوجيه القراءة. أنفاق SSH للوصول إلى DC. أسماء DNS المستعارة التي تخفي عناوين IP الحقيقية.

سؤال بسيط: هل يمكنك رسم البنية الكاملة في أقل من 5 دقائق؟

في معظم المنظمات، الجواب هو لا. تعيش الطوبولوجيا في موقع wiki قديم، أو موقع ملتقى لم يتم تحديثه مطلقًا، أو في رأس كبير مسؤولي إدارة الأعمال الذي هو في إجازة.

يعمل Dot3 على إصلاح هذه المشكلة.

ما هو دوت3؟

Dot3 هو محرك رسم الخرائط الهيكلي المدمج في PmaControl. يستخدم Graphviz (لغة DOT) لإنشاء تمثيلات مرئية لبنيات قاعدة البيانات.

يأتي اسم "Dot3" من الإصدار الثالث للمحرك. استخدم الإصداران الأولان أساليب مبسطة (قوائم الاتصال، والأشجار الثابتة). يقدم Dot3 دقة نقطة النهاية الديناميكية والعرض السياقي.

دقة نقطة النهاية

الخطوة الأولى في Dot3 هي فهم ما يوجد خلف كل نقطة نهاية تم تكوينها في PmaControl. يمكن أن تكون نقطة النهاية:

1. اتصال مباشر MariaDB / MySQL

أبسط حالة. يتصل Dot3 بالمنفذ 3306 (أو غيره)، وينفذ SHOW VARIABLES وSHOW SLAVE STATUS / SHOW REPLICA STATUS، ويحدد دور الخادم (الرئيسي، والتابع، والمستقل).

2. ProxySQL

يكتشف Dot3 ProxySQL من خلال وجود منفذ المشرف (6032 افتراضيًا). من خلال الاتصال بمنفذ الإدارة، فإنه يسترد:

  • runtime_mysql_servers: قائمة الواجهات الخلفية مع المجموعة المضيفة الخاصة بها
  • runtime_mysql_replication_hostgroups: رسم خريطة الكاتب/القارئ
  • proxysql_servers: الأقران ProxySQL (للتجميع)

وهذا يجعل من الممكن تتبع الروابط بين ProxySQL وواجهاته الخلفية، وبين أقرانه ProxySQL.

3. MaxScale

تم اكتشاف MaxScale عبر API REST (المنفذ 8989). استعلامات Dot3 /v1/servers و/v1/services لإعادة بناء طوبولوجيا الواجهات الخلفية وخدمات التوجيه.

4. عناوين VIP والعائمة

عندما تكون نقطة النهاية هي VIP (عنوان IP الظاهري تتم إدارته بواسطة Keepalived أو Pacemaker)، تقوم Dot3 بتحليل العنوان إلى الخادم الفعلي النشط. يتم تمثيل VIP كعقدة وسيطة ذات نمط مرئي مميز (الماس بدلاً من المستطيل).

5. أنفاق SSH

بالنسبة إلى بنيات DC المتعددة التي تحتوي على أنفاق SSH، يتتبع Dot3 المسار الكامل: العميل -> نفق SSH -> نقطة النهاية الحقيقية. يظهر النفق كاتصال منقط في الرسم البياني.

6. الأسماء المستعارة لنظام أسماء النطاقات (DNS).

يقوم Dot3 بحل أسماء DNS المستعارة (CNAME) ويعرض كلاً من الاسم المستعار واسم المضيف الفعلي، مما يتجنب الارتباك عند الإشارة إلى نفس الخادم بأسماء متعددة.

التقديم

بمجرد حل جميع نقاط النهاية، يقوم Dot3 بإنشاء رسم بياني DOT يتم تجميعه بواسطة Graphviz إلى SVG (أو PNG). إليك كيفية تمثيل الطبولوجيا المختلفة.

النسخ المتماثل للسيد والعبد


dot
Master [shape=box, color=blue, label="db-master\n10.0.1.10:3306"]
Slave1 [shape=box, color=green, label="db-slave1\n10.0.1.11:3306"]
Slave2 [shape=box, color=green, label="db-slave2\n10.0.1.12:3306"]
Master -> Slave1 [label="repl"]
Master -> Slave2 [label="repl"]

تنتقل أسهم النسخ المتماثل من السيد إلى العبيد (اتجاه البيانات). يتم عرض تأخر النسخ المتماثل على الحافة عندما يكون مهمًا.

النسخ المتماثل للماجستير والماجستير

تظهر النسخ المتماثلة ثنائية الاتجاه بـ سهام مزدوجة. يكتشف Dot3 هذه الحالة عندما يتعرف الخادمان على بعضهما البعض على أنهما رئيسي عبر SHOW SLAVE STATUS.


dot
Master1 -> Master2 [dir=both, label="M-M"]

المجموعة Galera

يتم تجميع العقد Galera في رسم بياني فرعي بإطار منقط. يتم تلوين كل عقدة وفقًا لحالتها wsrep:

  • متزامنة: أخضر
  • المتبرع/غير المتزامن: برتقالي
  • الانضمام: أصفر
  • منقطع: أحمر

dot
subgraph cluster_galera_prod {
  label="Galera Prod (3 nodes)"
  style=dashed
  galera1 [color=green]
  galera2 [color=green]
  galera3 [color=green]
}

ProxySQL نظير إلى نظير

يتم رسم الروابط بين نظيرات ProxySQL باستخدام أسهم منقطة ثنائية الاتجاه، ويتم تمييزها بصريًا عن روابط النسخ المتماثل MariaDB / MySQL.

خطأ أيقونة PNG في SVG

عند تطوير Dot3، أردنا دمج الرموز لتحديد أنواع العقد بشكل مرئي: أيقونة MariaDB، أيقونة ProxySQL، أيقونة MaxScale.

استخدم التطبيق الأول أيقونات PNG المضمنة في SVG عبر علامات <image> مع base64 href. نجح هذا في المتصفحات ولكن واجه العديد من المشكلات:

  1. لا يدعم Graphviz ملفات PNG المضمنة بشكل صحيح في مخرجات SVG الخاصة به - فقد تمت إزاحة المواضع
  2. العرض كان ضبابيًا على شاشات Retina/HiDPI
  3. تزايدت أحجام ملفات SVG بسبب Base64

الحل: استبدل جميع أيقونات PNG بـ أيقونات SVG الأصلية. لقد قمنا بإعادة إنشاء proxysql.svg وmaxscale.svg والآخرين بتنسيق SVG المتجه النقي. النتيجة:

  • تقديم حاد في أي قرار
  • تحديد المواقع الصحيح في Graphviz
  • حجم الملف مقسوم على 5

مثال ملموس

فيما يلي هيكل حقيقي (مجهول المصدر) تم إنشاؤه بواسطة Dot3 لعميل التجارة الإلكترونية:

ProxySQL-1 ←→ ProxySQL-2          (peer-to-peer)
    ↓               ↓
  [HG10: Writer]  [HG20: Readers]
    ↓               ↓
  Master ──→ Slave-1              (réplication)
    ↓        Slave-2
    ↓        Slave-3
    ↓
  ┌─────────────────────┐
  │ Galera Cluster       │
  │ Node-1  Node-2      │        (cluster)
  │ Node-3              │
  └─────────────────────┘

يتم إنشاء هذا المخطط تلقائيًا بواسطة Dot3. لا يوجد تكوين يدوي للتخطيط. يكتشف Dot3 الهيكل، ويحل نقاط النهاية، ويعتني Graphviz بالموضع.

التكامل في PmaControl

في واجهة PmaControl، يمكن الوصول إلى الخريطة الطوبولوجية عبر علامة التبويب الطوبولوجيا. يتم تحديثه تلقائيًا ويعكس الحالة في الوقت الفعلي:

  • يظهر العبد المتخلف في الاستنساخ بحافة حمراء
  • العقدة Galera في الحالة Donor يتغير لونها
  • ProxySQL الذي يفقد الواجهة الخلفية يظهر باللون الرمادي

يعتبر ملف SVG الذي تم إنشاؤه تفاعليًا: يؤدي النقر فوق العقدة إلى فتح ملف الخادم التفصيلي في PmaControl.

الحدود والتطورات المخطط لها

يعمل Dot3 بشكل جيد مع الطبولوجيا من 1 إلى 100 عقدة. أبعد من ذلك، يمكن أن يصبح تخطيط Graphviz مربكًا. التطورات المخطط لها:

  1. التصفية حسب العلامة: عرض مجموعة فرعية فقط من الهيكل (حسب البيئة، حسب العميل، حسب DC)
  2. وضع الاختلاف: قارن بين لقطتين طوبولوجيتين لتصور التغييرات
  3. تصدير Terraform: قم بإنشاء وصف للبنية التحتية كرمز للهيكل المكتشف

الخلاصة

لا يجب أن تكون طوبولوجيا البنية التحتية MariaDB / MySQL لغزًا موثقًا في موقع ويكي قديم. يكتشفها Dot3 ويحلها ويرسمها تلقائيًا.

إنه الفرق بين "أعتقد أن النسخ المتماثل يذهب إلى هذا الخادم" و"أرى أن النسخ المتماثل يذهب إلى هذا الخادم، مع 3 ثوانٍ من التأخير، لمدة 14 يومًا".

يشارك X LinkedIn Facebook Email PDF
← العودة إلى بلوق

تعليقات (0)

لا توجد تعليقات حتى الآن.

اترك تعليقا

PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
إشعارات قانونية GitHub اتصال
لا تنتظر وقوع الحادث حتى تفهم هندستك المعمارية. © 2014-2026 PmaControl — 68Koncept