תבניות תכנון לאימות כתובות בנפח גבוה ב-Google Cloud Platform

מטרה

במדריך אימות כתובות בכמות גדולה הוסבר על תרחישים שונים שבהם אפשר להשתמש באימות כתובות בכמות גדולה. במדריך הזה נסביר על דפוסי תכנון שונים ב-Google Cloud Platform להרצת בדיקת כתובות בכמות גדולה.

נתחיל בסקירה כללית על הפעלת בדיקת כתובות בנפח גבוה ב-Google Cloud Platform באמצעות Cloud Run, ‏ Compute Engine או Google Kubernetes Engine להפעלות חד-פעמיות. לאחר מכן נראה איך אפשר לכלול את היכולת הזו כחלק מצינור נתונים.

בסוף המאמר הזה, אמורה להיות לך הבנה טובה לגבי האפשרויות השונות להרצת אימות כתובות בנפח גדול בסביבת Google Cloud.

ארכיטקטורת עזר ב-Google Cloud Platform

בקטע הזה נספק סקירה מעמיקה יותר של דפוסי תכנון שונים לאימות כתובות בכמות גדולה באמצעות Google Cloud Platform. באמצעות Google Cloud Platform, תוכלו לשלב את התהליכים וצינורות הנתונים הקיימים שלכם.

הפעלת אימות כתובות בכמות גדולה פעם אחת ב-Google Cloud Platform

בהמשך מופיעה ארכיטקטורת עזר ליצירת שילוב ב-Google Cloud Platform, שמתאימה יותר לפעולות חד-פעמיות או לבדיקות.

תמונה

במקרה כזה, מומלץ להעלות את קובץ ה-CSV לקטגוריה של Cloud Storage. לאחר מכן אפשר להריץ את הסקריפט לאימות כתובת בנפח גבוה מסביבת Cloud Run. עם זאת, אפשר להריץ אותו בכל סביבת זמן ריצה אחרת, כמו Compute Engine או Google Kubernetes Engine. אפשר להעלות את קובץ ה-CSV של הפלט גם לקטגוריה של Cloud Storage.

הפעלה כצינור עיבוד נתונים של Google Cloud Platform

דפוס הפריסה שמוצג בקטע הקודם הוא מעולה לבדיקה מהירה של אימות כתובת בנפח גבוה לשימוש חד-פעמי. עם זאת, אם אתם צריכים להשתמש בו באופן קבוע כחלק מצינור עיבוד נתונים, תוכלו להשתמש טוב יותר ביכולות הילידיות של Google Cloud Platform כדי לשפר את העמידות שלו. דוגמאות לשינויים שאפשר לבצע:

תמונה

  • במקרה כזה, אפשר למחוק קובצי CSV בקטגוריות של Cloud Storage.
  • משימת Dataflow יכולה לאסוף את הכתובות שרוצים לעבד ולאחר מכן לשמור אותן במטמון ב-BigQuery.
  • אפשר להרחיב את ספריית Python של Dataflow כך שתכלול לוגיקה לאימות כתובות בכמות גדולה, כדי לאמת את הכתובות מהמשימה ב-Dataflow.

הפעלת הסקריפט מצינור נתונים בתור תהליך קבוע ארוך טווח

גישה נפוצה נוספת היא אימות קבוצת כתובות כתהליך חוזר של צינור נתונים בסטרימינג. יכול להיות שהכתובות נמצאות גם במאגר נתונים של BigQuery. בגישה הזו נסביר איך ליצור צינור נתונים חוזר (שצריך להפעיל אותו מדי יום/שבוע/חודש).

תמונה

  • מעלים את קובץ ה-CSV הראשוני לקטגוריה ב-Cloud Storage.
  • משתמשים ב-Memorystore כמאגר נתונים מתמיד כדי לשמור על מצב ביניים בתהליך הארוך.
  • שומרים את הכתובות הסופיות במטמון של מאגר נתונים ב-BigQuery.
  • מגדירים את Cloud Scheduler להרצת הסקריפט מדי פעם.

לארכיטקטורה הזו יש את היתרונות הבאים:

  • אפשר להשתמש ב-Cloud Scheduler כדי לבצע אימות כתובות באופן תקופתי. מומלץ לאמת מחדש את הכתובות על בסיס חודשי, או לאמת כתובות חדשות על בסיס חודשי או רבעוני. הארכיטקטורה הזו עוזרת לפתור את התרחיש הזה.
  • אם נתוני הלקוחות נמצאים ב-BigQuery, אפשר לשמור את הכתובות המאומתות או את דגלות האימות במטמון ישירות שם. הערה: מה ניתן לשמור במטמון ואיך מתואר בפירוט במאמר אימות כתובות בנפח גדול

  • השימוש ב-Memorystore מספק עמידות גבוהה יותר ויכולת לעבד יותר כתובות. השלבים האלה מוסיפים מצב (state) לכל צינור עיבוד הנתונים, שנחוץ לטיפול במערכי נתונים גדולים מאוד של כתובות. אפשר להשתמש גם בטכנולוגיות אחרות של מסדי נתונים, כמו cloud SQL‏[https://cloud.google.com/sql] או כל סוג אחר של מסד נתונים שזמין ב-Google Cloud Platform. עם זאת, לדעתנו, Memorystore perfectless הוא הפתרון שמאזן בצורה הטובה ביותר בין הצורך בהתאמה לעומס לבין הצורך בפשטות, ולכן הוא האפשרות הראשונה שצריך לבחור.

סיכום

בעזרת הדפוסים שמתוארים כאן, תוכלו להשתמש ב-Address Validation API לתרחישים שונים לדוגמה ולתרחישים שונים ב-Google Cloud Platform.

כתבנו ספריית Python בקוד פתוח שתעזור לכם להתחיל לעבוד עם התרחישים לדוגמה שתוארו למעלה. אפשר להפעיל אותו משורת הפקודה במחשב, או מ-Google Cloud Platform או מספק אחר של שירותי ענן.

במאמר הזה מוסבר איך משתמשים בספרייה.

השלבים הבאים

כדאי להוריד את המאמר שיפור התשלום, המסירה והפעולות העסקיות באמצעות כתובות מהימנות ולצפות בסמינר האינטרנטי שיפור התשלום, המסירה והפעולות העסקיות באמצעות אימות כתובות .

מקורות מידע נוספים:

תורמים

Google מנהלת את המאמר הזה. הכותבים המקוריים של המאמר הם:
המחברים הראשיים:

Henrik Valve | מהנדס פתרונות
Thomas Anglaret | מהנדס פתרונות
Sarthak Ganguly | מהנדס פתרונות