במאמר הזה מוסבר על מכסות ומגבלות המערכת של Managed Service for Apache Airflow.
- המכסות נקבעות כברירת מחדל, אבל בדרך כלל אפשר לבקש לשנות אותן.
- מגבלות המערכת קבועות ואי אפשר לשנות אותן.
המכסות שלGoogle Cloud עוזרות לשמור על הוגנות ולצמצם עליות חדות בשימוש במשאבים ובזמינות שלהם. הן מגבילות את כמות המשאבים שלGoogle Cloud שאפשר להשתמש בהם בפרויקט ב- Google Cloud . המכסות רלוונטיות למגוון רחב של סוגי משאבים, כולל רכיבי חומרה, תוכנה ורשתות. לדוגמה, המכסות יכולות להגביל את מספר הקריאות ל-API בשירות מסוים, את מספר מאזני העומסים שאפשר להשתמש בהם בו-זמנית בפרויקט או את מספר הפרויקטים שאפשר ליצור. בשורה התחתונה, המכסות מגינות על משתמשיGoogle Cloud בכך שהן מונעות עומס יתר על השירותים, אבל גם עוזרות לשלוט על השימוש במשאבי Google Cloud .
מערכת המכסות ב-Cloud:
- עוקבת אחרי השימוש במוצרים ובשירותים של Google Cloud
- מגבילה את השימוש במשאבים האלה
- כוללת כלי שבאמצעותו אפשר לשלוח בקשות לשינוי המכסות ולשנות אותן אוטומטית
ברוב המקרים, כשאתם מנסים להשתמש ביותר משאבים מהמכסה, הגישה למשאב נחסמת ומה שאתם מנסים לעשות נכשל.
בדרך כלל, המכסות ב- Google Cloud הן ברמת הפרויקט. כלומר, השימוש במשאב מסוים בפרויקט כלשהו לא משפיע על המכסה שלכם בפרויקטים אחרים. ברמת הפרויקט ב- Google Cloud , המכסות משותפות לכל האפליקציות וכתובות ה-IP.
כדי לשנות את רוב המכסות, משתמשים במסוף Google Cloud . מידע נוסף זמין במאמר בנושא שליחת בקשה לשינוי המכסות.
למשאבי Managed Airflow יש גם מגבלות מערכת. שאי אפשר לשנות.
מכסות של Managed Airflow
המכסות שמופיעות בקטע הזה חלות רק על Cloud Composer API ועל כלים שמשתמשים ב-Cloud Composer API:
- ממשק Managed Airflow ב Google Cloud מסוף
- פקודות
gcloud composerו-gcloud beta composer - Managed Airflow REST API
- Managed Airflow RPC API
- Terraform, לפעולות עם סביבות מנוהלות של Airflow
המיכסות שמופיעות בקטע הזה לא חלות על שירותים שבהם אתם משתמשים ב-DAG של Airflow. בשירותים כאלה נעשה שימוש במכסות משלהם.
ל-Managed Airflow יש את מכסות ה-API הבאות:
| שם המכסה | הגבלה |
|---|---|
| בקשות קריאה לכל פרויקט | 1,000 יחידות מכסה לדקה |
| בקשות כתיבה לכל פרויקט | 25,000 יחידות מכסה ביום |
| בקשות כתיבה לכל פרויקט | 1,500 יחידות מכסה לדקה |
| שמירת בקשות לצילום תמונות מצב לכל פרויקט | 5,000 יחידות מכסה ביום |
| שמירת בקשות לצילום תמונות מצב לכל פרויקט | 250 יחידות מכסה לדקה |
| שמירת בקשות של תמונות מצב לכל פרויקט ולכל סביבה | 2,600 יחידות מכסה ביום |
| טעינת בקשות לתמונת מצב לכל פרויקט | 2,500 יחידות מכסה ביום |
| טעינת בקשות לתמונת מצב לכל פרויקט | 150 מוצרים לדקה |
| טעינת בקשות לתמונת מצב לכל פרויקט לכל סביבה | 700 יחידות מכסה ביום |
לקריאות ל-Cloud Composer API יש את העלויות הבאות, ביחידות מכסה:
| פעולה | עלות ביחידות מכסה | סוג הבקשה |
|---|---|---|
| כל הפעולות | 1 | קריאה |
| environments.create | 100 | כתיבה |
| environments.patch | 100 | כתיבה |
| environments.delete | 100 | כתיבה |
| environments.databaseFailover | 100 | כתיבה |
| environments.restartWebServer | 100 | כתיבה |
| environments.checkUpgrade | 100 | כתיבה |
| environments.executeAirflowCommand | 25 | כתיבה |
| environments.stopAirflowCommand | 25 | כתיבה |
| environments.saveSnapshot | 50 | שמירת תמונת מצב |
| environments.loadSnapshot | 50 | טעינת תמונת מצב |
דוגמאות לחישוב מכסות
כל בקשה ל-
environments.createצורכת 100 יחידות מכסה מהמכסות של Write.יש שתי מכסות כאלה לבקשות כתיבה:
- בקשות כתיבה ליום לכל פרויקט
- בקשות כתיבה לפרויקט לדקה
הפעולה הזו צורכת 100 יחידות מכסה מכל מכסה.
אם תבצעו בקשת
environments.restartWebServerלאחר מכן, ינוכו עוד 100 יחידות מכסה מאותן מכסות, כיenvironments.restartWebServerחולק מכסות עם בקשתenvironments.create.כל בקשה ל-
environments.saveSnapshotצורכת 50 יחידות מכסה משלוש מכסות:- שמירת בקשות ליצירת תמונת מצב לכל פרויקט ביום
- שמירת בקשות לצילום תמונת מצב לפרויקט לדקה
- שמירת בקשות ליצירת תמונת מצב לכל פרויקט, לכל סביבה ולכל יום
שלוש המכסות האלה מגבילות את המספר המקסימלי של
environments.saveSnapshotבקשות. כל אחד עושה את זה בדרך אחרת.מגבלת המכסה של בקשות לשמירת תמונת מצב לכל פרויקט ביום היא 2,500 יחידות מכסה. אפשר להריץ עד 50 בקשות
environments.saveSnapshotבפרויקט בכל יום.מגבלת המכסה של בקשות לשמירת תמונת מצב לפרויקט לדקה היא 150 יחידות מכסה. בפרויקט, אפשר להריץ רק עד שלוש בקשות
environments.saveSnapshotבדקה.לבסוף, מגבלת המכסה של בקשות לשמירת תמונת מצב לכל פרויקט לכל סביבה ביום היא 750 יחידות מכסה. אפשר להריץ עד 15 בקשות
environments.saveSnapshotבכל יום לסביבה אחת. אם כל יחידות המכסה נוצלו בסביבה מסוימת, עדיין אפשר להריץ בקשותenvironments.saveSnapshotבסביבות אחרות בפרויקט.
מכסות לשירותים אחרים
Airflow מנוהל משתמש בשירותים אחרים של Google Cloud Google. לשירותים האלה יש מכסות ברמת הפרויקט, שחלות כשמשתמשים ב-Managed Airflow.
לדוגמה, מכסות ל-Cloud Storage חלות על כל הקטגוריות שמשויכות לסביבות בפרויקט. דוגמה נוספת: האשכולות בסביבה משתמשים ב-Google Kubernetes Engine, ולכן מכסות ל-GKE חלות על כל האשכולות שמשויכים לסביבות בפרויקט.
מכסות לשירותים שנעשה בהם שימוש ב-Managed Airflow
השירותים הבאים נמצאים בשימוש ב-Managed Airflow. לשירותים האלה יש מגבלות מכסה משלהם:
- מכסות של Cloud Deployment Manager
- מידע על מכסות ב-Google Kubernetes Engine
- מכסות ב-Compute Engine
- מכסות של Cloud Storage
- מכסות של Pub/Sub
- מכסות של Cloud Logging
- מכסות של Cloud Monitoring
- מכסות של Cloud Build (רלוונטיות לסביבות שמשתמשות בחבילות PyPI בהתאמה אישית)
- מכסות של Artifact Registry
- מכסות של ניהול זהויות והרשאות גישה
- מכסות של ענן וירטואלי פרטי (VPC) (לא רלוונטי לסביבות שמשתמשות ב-Private Service Connect)
- מכסות ב-Resource Manager
- מכסות של Service Directory
מכסות לשירותים אופציונליים
אפשר להשתמש באופרטורים של Airflow עם שירותי Google Cloud . כל שירות שמשתמשים בו ב-DAG כפוף למכסות של השירות הזה.