יישום האינטרנט שלך גדל: 10,000 שאילתות בשנייה, מסד הנתונים נחנק, LCP טיפס ל-3 שניות. משתמשים עוזבים. הפתרון הוא הגדרת שכפול Master-Slave על PostgreSQL. זה גם חוסך עד 40% בעלויות תשתית קריאה—העתקים יכולים לרוץ על מופעים זולים יותר. פתרון השכפול Master-Slave שלנו משתמש ב-WAL streaming וב-Patroni עבור מעבר אוטומטי, ומבטיח מסד נתונים בזמינות גבוהה. אנו מטפלים בהגדרת שכפול PostgreSQL מלאה כולל קונפיגורציית pg_hba ו-replication slots. אנו מגדירים קלאסטר עמיד תוך 2-3 ימים.
אתגרים שאנו פותרים עם שכפול Master-Slave
ב-10,000 שאילתות קריאה בשנייה, שכפול מפחית את LCP מ-3 שניות ל-200 אלפיות שנייה. אנו משתמשים ב-hot standby—העתקים משרתים שאילתות SELECT, ומפנים עומס מהראשי. שכפול סינכרוני מבטיח אפס אובדן נתונים אך צורך 30% יותר משאבים בשל המתנה לאישור. שכפול אסינכרוני מהיר יותר אך עלול לאבד את הטרנזקציה האחרונה (פחות מ-1% אובדן בכשל). הבחירה תלויה בדרישות העקביות: למערכות פיננסיות—סינכרוני, ליישומי אינטרנט—אסינכרוני. חיסכון בתקציב התשתית יכול להגיע ל-30-50% על ידי שימוש בהעתקים לקריאות.
כיצד אנו מגדירים מעבר אוטומטי עם Patroni
Patroni הוא התקן למעבר אוטומטי של PostgreSQL בסביבת ייצור. הוא משתמש במנעול מבוזר דרך etcd. כאשר הראשי נכשל, Patroni מקדם אוטומטית את ההעתק עם הפיגור הקטן ביותר, ומצמצם את זמן ההשבתה לפחות מ-10 שניות. לדוגמה, Patroni מהיר פי 3 מ-repmgr בתרחישי מעבר, ומפחית את זמן ההשבתה מ-30 שניות לפחות מ-10 שניות. עלויות התפעול מופחתות ב-40% על ידי שימוש בהעתקים לקריאות והימנעות מחומרה יקרה לזמינות גבוהה.
שלבי ההתקנה:
- פריסת קלאסטר etcd של 3 צמתים.
- התקנת Patroni על כל שרת PostgreSQL.
- קונפיגורציית Patroni עם נקודות קצה של etcd.
- הפעלת Patroni—הוא בוחר אוטומטית מאסטר.
- קונפיגורציית HAProxy לניתוב שאילתות כתיבה למאסטר ושאילתות קריאה להעתקים.
כיצד אנו מגדירים שכפול
ארכיטקטורה: היישום כותב רק לראשי; קריאות עוברות להעתקים. WAL מועבר דרך streaming replication.
קונפיגורציית ראשי והעתק
wal_level = replica max_wal_senders = 5 wal_keep_size = 1GB max_replication_slots = 5 synchronous_commit = on ניטור וניהול
Replication slots מבטיחים שהראשי לא מוחק WAL עד שההעתקים מקבלים אותו. ללא slots, הפעלה מחדש של העתק עשויה לדרוש סינכרון מלא. נטר את הפיגור:
host replication replicator 10.0.1.0/24 scram-sha-256 השוואה: שכפול סינכרוני מול אסינכרוני
| פרמטר | שכפול סינכרוני | שכפול אסינכרוני |
|---|---|---|
| זמן השהיית כתיבה | +30-50% | 0-5% |
| אובדן נתונים | 0 | ≤ טרנזקציה אחת |
| ביצועי קריאה | גבוהים | גבוהים |
| מומלץ עבור | מערכות פיננסיות | יישומי אינטרנט |
השוואה: כלי מעבר
| כלי | תיאום | זמן מעבר | מורכבות |
|---|---|---|---|
| Patroni | etcd/Consul | <10 שניות | בינונית |
| repmgr | עצמאי | <30 שניות | נמוכה |
| PAF (Pacemaker) | Corosync | <20 שניות | גבוהה |
מה מעבר אוטומטי עם Patroni מספק
מעבר אוטומטי מבטל התערבות ידנית כאשר הראשי נכשל. זמן ההשבתה מופחת לפחות מ-10 שניות, קריטי לשירותים הדורשים זמינות של 99.9%. בנוסף, Patroni מאפשר מעברים מתוכננים ללא עצירת היישום.
מה כלול בעבודה (תוצרים)
עבודה זו כוללת את התוצרים הבאים:
- פריסת מאסטר ו-1-2 העתקים עם פרמטרי WAL מותאמים.
- קונפיגורציית pg_hba, replication slots וניטור.
- התקנת PgBouncer עבור pooling חיבורים וניתוב בקשות.
- התקנה וקונפיגורציה של Patroni עם etcd למעבר אוטומטי.
- אינטגרציית יישום: קונפיגורציית ניתוב קריאה/כתיבה.
- ניטור פיגור וביצועים (Prometheus + Grafana).
- תיעוד: מדריך תפעול מפורט.
- גישה: מפתחות SSH, פרטי מסד נתונים, לוחות מחוונים לניטור.
- הדרכה: מפגש של שעתיים לצוות שלך.
- תמיכה: חודש תמיכה לאחר ההשקה.
לוחות זמנים ועלות
- הגדרה בסיסית (מאסטר + העתק אחד, ללא מעבר): יום אחד.
- קלאסטר מלא עם Patroni וניטור: 2-3 ימים.
העלות מחושבת באופן אישי לפי מורכבות התשתית. הגדרה בסיסית מתחילה ב-$2,000, ומעבר אוטומטי מוסיף $1,500. חיסכון חודשי פוטנציאלי בתשתית קריאה עולה על $1,000. קבל ייעוץ—ננתח את הפרויקט שלך ללא עלות ונציע את הפתרון האופטימלי. הזמן את ההתקנה עכשיו והבטח זמינות של 99.9%!
הניסיון שלנו
השלמנו מעל 50 פרויקטים של קונפיגורציית קלאסטרים של PostgreSQL ליישומי אינטרנט עם עומסים של עד 100,000 שאילתות בשנייה. המהנדסים שלנו מחזיקים בהסמכות PostgreSQL Professional ומרצים באופן קבוע בכנסים בתעשייה. אנו מבטיחים איכות ותמיכה לאחר ההשקה.







