تعدد المناطق والتوافر العالي
نشر تعدد المناطق / تعدد النسخ
Section titled “نشر تعدد المناطق / تعدد النسخ”تدعم كاظمه النسخ المتماثلة الأفقية عندما تعيش كل الحالة المشتركة في Postgres.
المعمارية
Section titled “المعمارية” ┌─────────────┐ Users ────────►│ Load Balancer│ health: GET /health/ready └──────┬──────┘ ┌─────────────┼─────────────┐ ▼ ▼ ▼ Kazma-1 Kazma-2 Kazma-N │ │ │ └─────────────┼─────────────┘ ▼ Managed Postgres (HA) (settings, sessions, tasks, checkpoints)المتطلبات (متطابقة في كل منطقة / نسخة متماثلة)
Section titled “المتطلبات (متطابقة في كل منطقة / نسخة متماثلة)”| متغير البيئة | متطابق عبر النسخ المتماثلة؟ |
|---|---|
KAZMA_DATABASE_URL | نعم (عنقود قواعد أساسي واحد) |
KAZMA_SECRET | نعم (أو OIDC فقط) |
KAZMA_VAULT_KEY | نعم |
KAZMA_PUBLIC_URL | عنوان HTTPS عام (لأجل OIDC) |
SQLite المحلي في kazma-data | عرض compose التجريبي للتوافر العالي يشارك وحدة تخزين kazma_data (الذاكرة/cron/الخزنة/المستندات). SQLite WAL + busy_timeout=5000 هي قصة التزامن — وليست توافرًا عاليًا كاملًا. فضِّل كاتبًا واحدًا، أو أبقِ --scale عند 2. |
عرض توضيحي محلي لتعدد النسخ
Section titled “عرض توضيحي محلي لتعدد النسخ”# .env must set KAZMA_SECRET and KAZMA_VAULT_KEYdocker compose -f docker-compose.ha.yml --profile nginx up -d --build --scale kazma=2curl -s http://127.0.0.1:9090/health/ready | jq .تعدد المناطق (السحابة)
Section titled “تعدد المناطق (السحابة)”- انشر Postgres أساسيًا واحدًا (متعدد مناطق التوافر multi-AZ) مع نسخ احتياطي آلي + PITR.
- انشر كاظمه خدمةً في كل منطقة (أو منطقة واحدة + CDN).
- وجِّه فحوص صحة موازن الأحمال إلى
/health/ready(503 = إزالة من المجموعة). - استخدم الجلسات اللاصقة فقط إن كنت تُبقي حالة محلية زائلة؛ وبعد التحويل إلى Postgres يصبح اللصوق اختياريًا.
- الوضع نشط-نشط عبر المناطق بقاعدتي كتابة غير مدعوم — استخدم أساسي كتابة واحدًا (أو منتج قواعد متعدد الأساسيات تُشغّله أنت بالكامل).
تجاوز الفشل
Section titled “تجاوز الفشل”| الطبقة | الإجراء |
|---|---|
| موت نسخة متماثلة للتطبيق | يتوقف موازن الأحمال عن التوجيه بعد فشل /health/ready |
| فشل أساسي Postgres | تجاوز فشل مُدار (RDS/Cloud SQL)؛ تعيد التطبيقات الاتصال عبر مجمّع الاتصالات |
| فقد منطقة | حوِّل DNS إلى تطبيقات المنطقة الثانوية التي ما زالت تشير إلى PG سليم |
انظر أيضًا: SAAS_AND_POSTGRES.md, DISASTER_RECOVERY.md.