האם CloudFront מפחית את ההשהיה
כיצד אוכל לפתור ולהקטין את החביון המוגבר מ cloudfront
תיאור קצר
כדי לפתור את השהייה מ- CloudFront, זהה תחילה אילו מהאירועים הבאים תורמים לחביון:
– הזמן שנדרש לבקשות לעבור בין הלקוח למיקומי ה- CloudFront Edge. זה כולל את תהליך בדיקת שמות הדומיין (DNS) ומשא ומתן TCP ו- SSL/TLS.
– הזמן שנדרש לבקשות לעבור בין Cloudfront למקור. זה כולל את תהליך בדיקת ה- DNS של DNS, משא ומתן TCP ו- SSL/TLS עם המקור, וזמן שנלקח על ידי המקור לעיבוד ולהגיב עם אובייקט.
לאחר מכן, עקוב אחר שלבי פתרון הבעיות לאירועים שזוהו כדי להפחית את השהייה.
סיכום המאמר
המאמר דן בחוויה של המחבר בבניית יישום אינטרנט בעל ביצועים גבוהים עם שימוש בשירותי אינטרנט של אמזון (AWS) ומתמקד באופן ספציפי בהפחתת השהייה מ- CloudFront. המחבר מסביר את רקע הפרויקט, בוחן דרכים שונות להשגת חביון נמוך, והארכיטקטורה בה נעשה שימוש.
הכותב מדגיש את חשיבות העקביות הסופית ודן באתגר להחזיר את התוצאות הראשונות לצרכנים תוך צבירה של שאר התוצאות מספקים שונים. הצוות משתמש בשיחות אסינכרוניות ו- AWS Elasticache כדי Redis כדי להשיג מטרה זו.
בצד התשתית, המחבר בחר בשירות מכולות אלסטיות AWS (ECS) למדרגיות ואמזון Cloudfront לצורך זמינות גבוהה. CloudFront משמשת שכבה שנייה של מטמון על גבי AWS Elasticache עבור Redis. המאמר מספק דיאגרמת ארכיטקטורה כוללת של AWS להמחשת המערכת.
כדי להבטיח זמינות גבוהה ומדרגיות, יושם כיסוי אוטומטי לשירות ECS. איזון עומס היישומים מגלה משימות בריא של פרגייט, מסתיים משימות לא בריאות ומשיק משימות חדשות שיחליפו אותן. השימוש באזורי זמינות מרובים מבטיח שהיישום ממשיך לפעול גם אם אזור זמינות הופך להיות לא זמין.
המחבר ערך בדיקות עומס באמצעות JMeter והשווה את ההשהיה בין איזון עומס היישומים ל- CloudFront. התוצאות הראו ירידה משמעותית בחביון בעת השימוש ב- CloudFront, יחד עם שיעור שגיאה של 0%.
לסיכום, המחבר מוצא את הפרויקט מתגמל ומספק משוב מאנאמנות Ascenda על הארכיטקטורה המיושמת. המאמר מסתיים בהזמנה לצפייה בהדגמה של היישום.
שאלות ותשובות
1. מהם כמה אירועים שיכולים לתרום לחביון מוגבר מ- CloudFront?
במהלך תהליך פתרון הבעיות יש לקחת בחשבון את האירועים הבאים:
– הזמן שנדרש לבקשות לעבור בין הלקוח למיקומי ה- CloudFront Edge, כולל תהליך בדיקת DNS ומשא ומתן TCP ו- SSL/TLS.
– הזמן שנדרש לבקשות לעבור בין CloudFront למקור, כולל תהליך בדיקת DNS DNS, TCP ו- SSL/TLS משא ומתן עם המקור, והזמן שנקבע המוצא לעבד ולהגיב עם חפץ.
2. כיצד אוכל לפתור בעיות ולהקטין את החביון מ cloudfront?
כדי לפתור בעיות ולהפחית את החביון מקלאון, בצע את הצעדים הבאים:
– זהה אילו מהאירועים שהוזכרו לעיל תורמים לחביון.
– עבור כל אירוע, נתח ומיטב את התהליכים בהתאמה. לדוגמה, להבטיח בדיקת DNS יעילה, צמצם את מספר הנסיעות הלוך ושוב של TCP או SSL/TLS, ובעל אופטימיזציה של זמן התגובה למקור.
– השתמש בכלי ניטור ורישום של CloudFront כדי לאסוף נתונים ולקבל תובנות לגבי ביצועי ההפצה שלך.
– סקור ושכלל באופן קבוע את תצורות הענן שלך כדי להבטיח ביצועים אופטימליים.
3. מה החשיבות של עקביות בסופו של דבר ביישום?
היישום דורש עקביות בסופו של דבר כדי להשיג זמינות גבוהה מבלי להקריב את סובלנות המחיצה. עקביות קפדנית לא תהיה ברת ביצוע בגלל משפט הברואר (משפט CAP), הקובע כי אי אפשר להבטיח עקביות, זמינות וסובלנות חלוקה בו זמנית במערכת מבוזרת. על ידי בחירת עקביות בסופו של דבר, היישום יכול לספק את התוצאות הראשונות לצרכנים במהירות תוך צבירת התוצאות שנותרו.
4. איך הצוות מצטבר תוצאות מספקי מלונות מרובים?
הצוות משתמש בשיחות אסינכרוניות לספקי המלונות המרובים. זה מאפשר להם להחזיר את התוצאות הראשונות לצרכנים תוך צבירה בהדרגה של התוצאות שנותרו ברקע. AWS ElasticAche for Redis משמש גם למטמון של התוצאות, תוך שיפור הביצועים עוד יותר.
5. מה המטרה של שימוש בשירות מכולות אלסטיות של AWS (ECS) בארכיטקטורה?
שירות מכולות אלסטיות AWS (ECS) משמש כדי להבטיח מדרגיות ביישום. השימוש במכולות מאפשר ניהול ופריסה קלה של היישום, ומיושם כיוון אוטומטי לטיפול בעומס תנועה על ידי קנה מידה של שירותי Backend בהתאם.
6. כיצד Amazon Cloudfront מספקת זמינות גבוהה?
Amazon Cloudfront משמשת שכבה שנייה של מטמון על גבי AWS Elasticache עבור Redis. זה משמש כרשת מסירת תוכן (CDN) שמטמנת ומספקת תוכן ממיקום הקצה הקרוב ביותר למשתמש הקצה. זה עוזר להפחית את החביון ומבטיח כי יישום האינטרנט הסטטי React JS המתארח ב- S3 יישאר זמין מאוד.
7. מהם היתרונות של שימוש באוטו -סגירה אוטומטית בשירות ה- ECS?
כיסוף אוטומטי מבטיח כי היישום יכול להתמודד עם הביקוש הנוכחי על ידי אספקת כמות המשאבים והקיבולת הנכונים. זה מאפשר לשירותי Backend להתרחש ולהסתדר אוטומטית, מה שהופך אותם לסובלניים לתקלות ולחסכוניים.
8. כיצד איזון העומס על היישום מבטיח את בריאות משימות פרגייט?
איזון עומס היישומים משתמש בנקודת קצה של בדיקת בריאות בשירותי Backend כדי לקבוע את בריאות משימות פרגייט. אם נקודת הקצה של בדיקת הבריאות אינה ניתנת להשגה, היא מחשיבה את המשימה לא בריאה, מדרגת אותה מקבוצת היעד, מסיימת אותה ומשיקה משימה חדשה שתחליף אותה. זה מבטיח כי היישום יישאר זמין גם אם אזור זמינות הופך להיות לא זמין.
9. אילו היתרונות מספקת CloudFront בהשוואה למאזן העומס של היישומים?
בבדיקת העומס שנערכה, הבקשות שהובאו ל- CloudFront הראו ירידה משמעותית בהשהיה בהשוואה לאיזון עומס היישומים. CloudFront משמש כ- CDN ומסייע במטמון ולהעביר תוכן ממיקומי הקצה קרוב יותר למשתמש הקצה, וכתוצאה מכך שיפור הביצועים והפחתת ההשהיה.
10. איך המחבר מתאר את הניסיון שלהם בעבודה על הפרויקט?
המחבר מתאר את הפרויקט כמרתיע, במיוחד עבור חידושים ב- AWS. עם זאת, היה זה גם מתגמל לראות את היישום המוצלח ואת התוצאות המדהימות שהושגו.
כיצד אוכל לפתור ולהקטין את החביון המוגבר מ cloudfront
Знайе, как с помощAmazon Cloudfront наладит досав контента и уорит рä.
השגת חביון נמוך עם Amazon Cloudfront
בניית יישום אינטרנט עם זמינות גבוהה ועקביות בסופו של דבר
פורסם ב
4 דקות לקרוא
23 במאי 2021
רקע כללי
זה היה פרויקט שעשיתי לאחרונה במחצית הראשונה של 2021. זה היה שיתוף פעולה עם נאמנות Ascenda, שם הצוות שלי הוטל לבנות יישום בעל ביצועים גבוהים עם השימוש בשירותי האינטרנט של אמזון (AWS). דרישות היישום הן שזה צריך להיות מדרגיות מאוד וזמינה תוך השגת עקביות בסופו של דבר.
חשוב להזכיר עקביות בסופו של דבר ולא עקביות קפדנית מכיוון שלמעשה היה בלתי אפשרי להשיג זמינות גבוהה וגם עקביות קפדנית מבלי להקריב את סובלנות המחיצה. זה נובע מברואר’משפט (משפט כובע).
באשר ליישום, תפקידו העיקרי יהיה צבירת תוצאות של ספקי מלונות שונים והצגת תוצאות עם חביון נמוך לצרכנים (המשתמשים ביישום). כאשר היישום שלנו מתחבר למספר ספקי מלונות עם נקודות קצה שונות ובכך זמני חביון שונים, הנעים בין 2 שניות ל 20 שניות, זה גם אתגר להבטיח שנחזיר תחילה את התוצאות הראשונות לצרכנים ולספק את התוצאות הטובות ביותר בסופו של דבר.
חֲקִירָה
הצוות שלנו בוחן דרכים שונות בהן אנו יכולים למלא דרישה זו. שקלנו שירותים שונים בהם אנו יכולים להשתמש ב- AWS, דפוסי עיצוב ודפוסי תקשורת. בצד התכנות, אנו מצטברים את התוצאות באמצעות שיחות אסינכרוניות למספר הספקים, כך שנוכל לספק לתוצאות של הצרכנים שלנו תחילה תוך צבירה לאט לאט את התוצאות שנותרו. חבר לצוות שלי עשה מאמר נחמד על זה כאן בו אנו משתמשים גם ב- AWS ElasticAche עבור Redis.
שירותי אינטרנט של אמזון (AWS)
בצד התשתית, הצוות שלנו החליט להשתמש בשירות מכולות AWS Elastic (ECS) כדי לספק את הדרישה הניתנת להרחבה וב- Amazon Cloudfront כדי להבטיח זמינות גבוהה. Amazon Cloudfront משמשת גם כשכבה שנייה של מטמון על גבי התוצאות שהיו מטמון ב- AWS Elasticache for Redis.
זוהי דיאגרמת ארכיטקטורת AWS הכוללת שלנו.
מהתרשים שלמעלה, ברור גם כי Amazon Cloudfront סיפק זמינות גבוהה ליישום האינטרנט הסטטי React JS שלנו המאוחסן בדלי S3. לאחסון AWS S3 עמידות נתונים של 99.9999999999% בגלל שהוא נבנה סביב אזורים ולכן דף האינטרנט הסטטי המתארח ב- S3 לא יורד ככל הנראה. יתר על כן, גרסאות הופעלה על דלי S3 המכיל את דף האינטרנט הסטטי, ומונע מחיקות מקריות המאפשרות לנו לשמר, לאחזר ולשחזר כל גרסה של אובייקט מסוים.
כדי להבטיח את הזמינות הגבוהה והמדרגיות של היישום. זה מבטיח ששירותי Backend הם סובלניים לתקלות ויכולים להתמודד עם עומס התנועה על ידי קנה מידה פנימה והחוצה כראוי (תלוי בתנועה).
איזון עומס היישומים מגלה אם משימות פרגייט בריאים באמצעות נקודת הקצה של בדיקת הבריאות בשירותי Backend. אם נקודת הקצה של בדיקת הבריאות אינה ניתנת להשגה, היא הייתה רואה במשימה לא בריאה, לרשום אותה מקבוצת היעד, לסיים את המשימה ולהשיק משימה חדשה שתחליף אותה. כאשר פרשנו את שירות ה- ECS באזורי זמינות מרובים, אם אזור זמינות לא היה זמין, יהיו מקרים באזורי הזמינות האחרים שיפעילו את היישום. משימות נוספות יושקו אוטומטית בהתאם לתנועה. באמצעות שימוש באוטו -סגירה, אנו מבטיחים שרק כמות המשאבים והיכולת הנכונים יועברו לטפל בביקוש הנוכחי, תוך חיסכון בעלויות בטווח הרחוק.
תוצאות
השתמשנו ב- jmeter כדי לטעון את הבדיקה שלנו, עם 500 משתמשים ו 1 רמפה 1, מצביעים על שתי נקודות הקצה השונות (איזון עומס יישומים ו- CloudFront). כשמסתכלים על התוצאות, אנו יכולים לראות שהבקשות שהועברו ל- CloudFront טובות בהרבה עם ירידה עצומה בחביון (~ 80% הפחתה בחביון). שיעור השגיאות היה מפתיע גם 0%. זה אמור להיות בגלל התכונה הזמינות הגבוהה והקנה האוטומטי של AWS ECS.
להסיר
אף על פי שהפרויקט הזה היה מרתיע במיוחד עבורנו החדשים ב- AWS, זה בהחלט היה מתגמל להיות מסוגל לראות תוצאות מדהימות מסוג זה, כלומר, היישום שלנו היה טוב ומפרגן.
משוב מסוים הניתן בארכיטקטורה שלנו על ידי נאמנות Ascenda:
“אירוח חזית ב- S3 -> רעיון נחמד. נראה שהם’בונה מחדש ספא אמיתי”
אם אתה מעוניין במה שהשגנו, אתה יכול להציג הדגמה של היישום שלנו כאן!
תודה שקראת: ד
כיצד אוכל לפתור ולהקטין את החביון המוגבר מ cloudfront?
אני רואה חביון מוגבר בתגובות של Amazon Cloudfront. כיצד אוכל לזהות את הגורם ולהפחית את החביון?
תיאור קצר
כדי לפתור את השהייה מ- CloudFront, זהה תחילה אילו מהאירועים הבאים תורמים לחביון:
- הזמן שנדרש לבקשות לעבור בין הלקוח למיקומי ה- CloudFront Edge. זה כולל את תהליך בדיקת שמות הדומיין (DNS) ומשא ומתן TCP ו- SSL/TLS.
- הזמן שנדרש לבקשות לעבור בין Cloudfront למקור. זה כולל את תהליך בדיקת ה- DNS של DNS, משא ומתן TCP ו- SSL/TLS עם המקור, וזמן שנלקח על ידי המקור לעיבוד ולהגיב עם אובייקט.
לאחר מכן, בצע את הצעדים לפתרון בעיות לאירועים הגורמים לשהייה הגבוהה ביותר.
פתרון הבעיה
זהה אירועים הגורמים לחביון מ- CloudFront:
כדי לזהות אילו אירועים גורמים לחביון מ Cloudfront, בצע אחד מהפעולות הבאות:
- הפעל את פקודת התלתל הבאה:
Curl -w "DNS_Resolution: %| TCP_NEGOTIATION_TIME: %.דוגמא.com
הערה: החלף דוגמא.com עם שם הדומיין של CloudFront או שם תחום חלופי (CNAME) ונתיב כתובת אתר.
- בדוק כמה זמן כל שלב של בקשת רשת לוקח את כלי המפתחים של דפדפן האינטרנט שלך. לדוגמה, אם אתה משתמש ב- Mozilla Firefox, כרטיסיית העיתוי מספקת מידע זה.
מבוסס על ה זמן נלקח לכל אירוע או בקשה, עיין בסעיף ההחלטה הקשורה במאמר זה.
אם הבחנת בחביון בעבר, בדוק את השדות זמן נלקח וכן זמן ליט-בתים ביומני הגישה של CloudFront. יומני גישה של CloudFront לא רושמים את הזמן שלקוח הלקוח לתהליך בדיקת ה- DNS ומשא ומתן TCP ו- SSL/TLS
הפחתת החביון ברזולוציית DNS
- הגדל את זמן המטמון של DNS ב- DNS בצד הלקוח.
- הגדל את זמן לחיות (TTL) של המטמון בשרת ה- DNS המקומי.
- הגדל את TTL ברשומת ה- DNS ברשם ה- DNS שלך/ספק.
- אם הפותר שרת DNS מספק שירותי האינטרנט שלך גורם לחביון, ואז שקול להשתמש בשרתי DNS ציבוריים.
הפחתת החביון ב- TCP ו- SSL/TLS - זמן משא ומתן
- בדוק את רוחב הפס המקומי שלך ברשת ורוחב הפס האינטרנט שלך.
- בדוק אם יש הפרעה ברשת בספק שרת האינטרנט שלך או בנתב.
- אופטימיזציה של ביצועי הרשת המקומיים שלך דרך ספק שירותי האינטרנט שלך או נתיבי רשת.
- אשר שאתה משתמש ב- Resolver DNS הנכון המאפשר לדפדפן האינטרנט שלך למצוא את מיקום הפופ הקרוב והנכון ביותר.
- כדי לשפר את ביצועי האתר של HTTPS, שמור על שרשרת ההסמכה שלך קצרה.
- חביון יכול להיגרם על ידי חומת אש, פרוקסי או נתב מקומי. כדי לקבוע מי מאלה גורם לחביון, הפעל את הפקודה MTR הבאה מהמערכת שלך. ראה אבחון בעיות רשת עם MTR לקבלת מידע נוסף.
דוגמה MTR -RW.com-no-dns
הערה: החלף דוגמא.com עם שם הדומיין שלך.
הפחתת חביון בזמן שנלקח עבור בתים ראשונים (TTFB) וזמן הכולל שנלקח (TTL)
אם CloudFront מחזירה "X-Cache: Hit מ- CloudFront"
CloudFront מחזירה "X-Cache: Hit מ- Cloudfront" כאשר מוגשות בקשות מהמיקום הקרוב ביותר. כדי להפחית את החביון:
- הפעל דחיסה אוטומטית של CloudFront כדי לדחוס קבצים ולהגדיל את מהירות ההורדה.
- השתמש במטמון מקומי או דפדפן כדי להפחית את הבקשות ל- CloudFront. ציין כותרת בקרת מטמון בקבצים כדי להורות לדפדפני האינטרנט לשמור על תוכן האתר בזיכרון הדפדפן או בדיסק המקומי למשך זמן מסוים. למידע נוסף על כותרות לבקרת מטמון, ראה ציון משך הזמן בו חפצי המטמון של CloudFront חפצים.
אם CloudFront מחזירה "X-Cache: Miss from Cloudfront"
אם CloudFront מחזירה "X-Cache: Miss From Cloudfront" כאשר הבקשה נשלחת למקור. כדי להפחית את החביון:
- צמצם את זמן הנסיעה הלוך ושוב (RTT) בין מיקום ה- CloudFront Edge למיקום המקור שלך. אם בקשה ממיקום קצה CloudFront עוברת למיקום המקור הקרוב ביותר, אז ה- RTT פחות. עם זאת, TTFB מושפע אם הבקשה היא ממיקום קצה מרוחק מבחינה גיאוגרפית מהמקור. כדי לייעל את ה- RTT, שכפל את שרת המקור באזורים מרובים הקרובים יותר מבחינה גיאוגרפית למשתמשים שלך. לאחר מכן, הגדר את ה- DNS של שם הדומיין המקורי שלך כך שהוא מנתק את הבקשה לשרתי מקור על בסיס חביון או מיקום גיאוגרפי. אם אתה משתמש בכביש 53 של אמזון כספק ה- DNS שלך, ראה בחירת מדיניות ניתוב למידע נוסף.
- הפעל דחיסה אוטומטית של CloudFront כדי לדחוס קבצים ולהפחית את מהירות ההורדה. אם פורמט הקובץ שלך אינו נתמך על ידי דחיסה אוטומטית של CloudFront, אז דחף מראש את הקובץ הזה במקורך והגיש אותו קידוד תוכן כּוֹתֶרֶת.
- בדוק את ההשהיה מהמקור לקלאונפונט על ידי הפעלת מדד ההשהיה של המקור. הערה: שיעורי CloudWatch סטנדרטיים חלים.
- הפעל את מגן המקור של Cloudfront.
- הוסף מדיניות כותרות תגובה עם תכונה של כותרת תזמון שרת מופעלת. תכונה זו יכולה לעזור לך להבין את האירועים התורמים לחביון בין CloudFront למקור.
צמצם את החביון עבור משתמשי הקצה עם ממשקי API מרובי אזורים עם CloudFront
ככל שהארגונים גדלים, הם חייבים לשרת לעתים קרובות משתמשים מפוזרים גיאוגרפית עם חביון נמוך, מה שמניע אותם לקבל תשתית גלובלית מבוזרת בענן. במאמר זה אנו מתארים כיצד לפרוס נקודות קצה של API גלובליות כדי להפחית את החביון עבור משתמשי הקצה תוך הגדלת יישום’זמינות s.
על ידי שימוש ברשת הגלובלית של AWS ו- Amazon Cloudfront כדי לפרוס יישומים לאזורי AWS מרובים, ארגונים יכולים לאפשר למשתמשים שלהם להתחבר לנקודת קצה של API באזור עם החביון הנמוך ביותר לבקשת ה- API’מקורו, תוך כדי גישה לנתונים שנשמרים באופן אוטומטי בסנכרון באזורים בזמן אמת.
כדי להסביר את הפיתרון עבור מפתחי API של GraphQL, אנו מספקים ארכיטקטורה באמצעות AWS AppSync. ארכיטקטורה זו מסתמכת על קבוצה של רכיבים התומכים בתרחישים פעילים/פעילים רב-אזוריים, כלומר: CloudFront, Amazon Rount 53, AWS Manager (ACM) ו- AWS Lambda@Edge.
עבור GraphQL, מאמר זה משלים את הפוסט הקודם של ריבוי אזור פריסה של AWS AppSync עם טבלאות גלובליות של Amazon DynamoDB, על ידי הסבר כיצד להפוך פיתרון גלובלי פעיל/פסיבי לפועל פעיל/פעיל. יתר על כן, הוא מספק אלטרנטיבה מבוססת ענן לשמות דומיין מותאמים אישית עבור AWS AppSync ממשקי API.
אם אתה’מחדש מפתח API של REST, ואז אתה יכול להשיג תוצאות דומות על ידי ביצוע הפוסט באמצעות ניתוב מבוסס חביון עם Amazon Cloudfront עבור ארכיטקטורה פעילה-פעילה רב-אזורית. הנה אתה’אני מוצא גם הנחיות לגבי סחר עלות ומורכבות שיעזרו לך לחשוב על שיקולים ארכיטקטוניים והשפעתם על הפונקציונליות, החוסן וביצועי היישומים שלך.
ממשק API של GraphQL רב-אזורי עם CloudFront
אנו רואים שארגונים בוחרים יותר ויותר לבנות ממשקי API עם GraphQL כדי לספק יישומים מהר יותר על ידי מתן למפתחים חזיתיים את היכולת לשאילתי מסדי נתונים מרובים, שירותי מיקרו וממשקי API עם נקודת קצה אחת.
תרשים האדריכלות הבא (איור 1) מתאר כיצד להפחית את החביון עבור משתמשי הקצה תוך הגדלת היישום שלך’S זמינות על ידי מתן נקודות קצה של API של API באזורים מרובים, עם סנכרון נתונים פעיל/פעיל בזמן אמת נתמך על ידי טבלאות גלובליות של Amazon Dynamodb. גרסת PDF של תרשים זה זמינה בקישור זה. לפרטים נוספים כיצד ליישם שכפול של Amazon DynamoDB, קרא את הפריסה של POST MULTI אזור של AWS APPSYNC עם טבלאות גלובליות של Amazon DynamoDB.
איור 1: תרשים לממשק API של GraphQL רב-אזורי עם CloudFront
עקוב אחר הצעדים הבאים ליישום הארכיטקטורה המוצגת בתרשים:
- פרוס ממשק API של GraphQL בשני אזורים או יותר באמצעות AWS AppSync ואז מטפל בפקודות והששאיות של AppSync באמצעות פתרונות AWS Lambda המחוברים למסד נתונים DynamoDB.
- כדי להודיע ללקוחות על שינויים בנתונים בכל האזורים, לאפשר לטבלאות גלובליות של DynamoDB לשמור על נתונים בסנכרון באזורים, ואז לטפל בזרמי נתונים של DynamoDB עם מטפל במבדה, ובכך להפעיל מנויים של סכימת גרפיקה בנויה למטרה. למידע נוסף כיצד לעשות זאת, עיין בפריסה של POST MULTI אזור של AWS APPSYNC עם טבלאות גלובליות של Amazon DynamoDB.
- כדי לתמוך בתחומים מותאמים אישית, העלה את הדומיין’תעודת SSL ל- ACM ומחברים אותה להפצה של CloudFront.
- כוון את שם הדומיין שלך ל- CloudFront באמצעות כביש 53 כשירות רזולוציית שם DNS שלך.
- הגדר כלל ניתוב בכביש 53 כדי לנתב את הלקוחות הגלובליים שלך לאזור AWS בפחות חביון למיקומם.
- כך שהלקוחות שלך יוכלו לאמת בצורה חלקה לנקודות קצה של AWS AppSync בכל אזור, להשתמש ב- Lambda@Edge כדי שאילתה כביש 53 עבור האזור הטוב ביותר כדי להעביר את הבקשה, ולנרמל את ההרשאה על ידי הפשטת הספציפיות של כל AppSync אזורי.
- לאחר מכן, לקוחות ברחבי העולם יכולים להתחבר לממשק ה- API של GraphQL בנקודת קצה אחת הזמינה במיקומי Edge.
- CloudFront ינתב בצורה חלקה לקוחות’ בקשות לממשק ה- API באזור עם החביון הנמוך ביותר ללקוח’S מיקום.
קביעת תצורה של CloudFront
להלן השלבים להגדרת CloudFront עבור הפיתרון הפעיל/פעיל רב-אזורי במאמר זה:
- התחל על ידי יצירת הפצה אחת פשוטה של CloudFront גנרית (ראה איך כאן).
- מקור ההפצה הוא’לא רלוונטי למצב הסיום של הפיתרון שלנו מכיוון שהוא יוחלף על ידי נקודות הקצה של ה- API. עם זאת, זה חייב להיות ניתן לפתרון כך שפונקציית Lambda@Edge מופעלת. לדוגמה, אתה יכול להשתמש ב- AWS.אֲמָזוֹנָה.com כמקור שלך.
- לשם הפשטות, הפיתרון המתואר בפוסט זה מיישם כתובת אתר מותאמת אישית מאובטחת המתחילה ב- Global-API . לדוגמה, אם הדומיין המותאם אישית שלך הוא דוגמה.com, אז ה- API הפעיל/פעיל זמין בכתובת https: // global-api.דוגמא.com . כדי לתמוך בזה, הוסף את שם הדומיין החלופי שלך (ה.ז., Global-API.דוגמא.com) להפצת CloudFront שלך (ראה איך כאן).
בהפצת CloudFront שלך, ערוך את ההתנהגות וקבע את ערכי המאפיין הבאים:
- שינוי “שיטות HTTP מותרות” ל “ קבל, ראש, אפשרויות, לשים, הודעה, תיקון, מחק ” - זה יאפשר את בקשות ההודעה הדרושות לטיפול בשאילתות GraphQL.
- שינוי “מדיניות מטמון” ל “ CachingDisabled ” - זה יסיר כל מטמון כדי לוודא שכל הבקשות דינאמיות.
- שינוי “מדיניות בקשת מקור” ל “ AllViewer ” - זה יוסיף את המידע הנדרש לעומס הנשלח לפונקציית Lambda@Edge.
קביעת תצורה של ACM
כדי ליישם את הפיתרון המתואר במאמר זה, השתמש ב- ACM כדי לבקש תעודה ציבורית לתחום המותאם אישית שלך (ראה כיצד כאן). פיתרון זה משתמש בתת -דומיינים, לכן עליך לבקש תעודה התומכת בתוויות בר. לדוגמה, אם הדומיין שלך הוא “דוגמא.com”, ואז בקש תעודה לטיפול בשניהם “דוגמא.com” וכן “*.דוגמא.com”.
לאחר האישור שלך זמין ותוקף ב- ACM, צרף אותו להפצה של CloudFront שלך (ראה איך כאן).
קביעת תצורה של Amazon Route53
כדי ליישם את הפיתרון המתואר במאמר זה, צור את הרשומות הבאות באזור התארח בכביש 53 עבור הדומיין שלך:
- רשומה פשוטה של CNAME המשמשת נקודת כניסה להפצה של CloudFront שלך (ראה איך כאן).
- רשומה עם מדיניות ניתוב מבוססת חביון כדי להגדיר את התצורה של ממשקי ה- API האזוריים המרובים שלך (ראה כיצד כאן). זה משפר את הביצועים עבור המשתמשים שלך על ידי הגשת בקשותיהם מאזור AWS המספק את ההשהיה הנמוכה ביותר.
- תחום מותאם אישית לכל אזור (השתמש באותו תחום מותאם אישית בפונקציית Lambda שלך שלאחר מכן).
לדוגמה, אם הדומיין שלך הוא “ דוגמא.com ”, ההפצה שלך בענן החזית היא “ abcdefghij.Cloudfront.נֶטוֹ ”, ויש לך ממשקי API באירופה (אירלנד) ובאזורי אסיה פסיפיק (סידני), אז אתה צריך בסופו של דבר לתצורת כביש 53 הדומה לתרשים 2.
איור 2: טבלת הרשומות בכביש 53
שימו לב לטעויות הנפוצות הבאות בעת קביעת התצורה של כביש 53:
- ה “אירלנד” וכן “סידני” רשמו ערכים בדוגמה שלמעלה’כתובות האתר של נקודות הקצה של API האזוריות. במקום זאת, אלה מפתחות המילון המוגדרים בקוד Lambda@Edge שלאחר מכן.
- שמות רשומות ההשהיה בדוגמה שלמעלה ארונות’T אזור ספציפי. במקום זאת, הם’מחדש שמות רשומות נפוצות שה- Lambda@Edge ייצור קשר עם כביש 53 לשאילתה לאזור המומלץ’S מפתח.
לפרטים נוספים על אופן השימוש בתצורת כביש 53 זה בהקשר של הפיתרון, בצע את השלבים בסעיף הבדיקה של מאמר זה. אלה מאפשרים לך להתחיל מחשבון AWS ריק ולבנות את דרכך לסביבה רב-אזורית פונקציונלית לחלוטין שתוכל לבדוק באמצעות VUE.יישום JS.
קוד עבור Lambda@Edge
כדי ליישם את הפיתרון במאמר זה, צור פונקציית Lambda@Edge בצומת.JS באמצעות קטעי קוד בסעיף זה כתבנית (ראה כיצד כאן).
ישנן מספר דרכים לפרוס את הפונקציה שלך ל- CloudFront. דרך פשוטה היא לבחור את “ פעולות ” נפתח בעורך Lambda ואז בחר “ פרוס ל- Lambda@Edge ”.
הקוד הבא מאפשר לך למצוא את אזור AWS הטוב ביותר לבקשה נכנסת. זה מניח שכבר הקמת מדיניות ניתוב בכביש 53 שלך בשם “ ניתוק חביון ”. התוצאות האפשריות מפונקציה זו, בהתחשב בדוגמה בטבלת כביש 53 לעיל, הן “אירלנד” וכן “סידני”.
const dns = דורש ('dns'); תן לסטוריגין; תן לתוקף = 0; תן ttl = 1; תן ל- DNS_HOST = 'ROTENTING LATENTY.דוגמא.com '; פונקציה getBestRegion () < console.log("inside resolver"); const now = Date.now(); if (now < expires) return Promise.resolve(bestOrigin); return new Promise((resolve, reject) => < dns.resolveCname(DNS_HOST, (err, addr) =>< bestOrigin = addr[0]; expires = now + TTL; resolve(bestOrigin); >); >); >
הקוד הבא מאפשר לך למפות את אזור ה- AWS הטוב ביותר (כפי שנשפט על ידי כביש 53) ל- API שפורסם. קוד זה שוקל את הגדרות כביש 53 לדוגמא בטבלה שלמעלה, עם שתי רשומות API של GraphQL (אחת לאירלנד ואחת לסידני). עליך לשנות קוד זה כך שיתאים להגדרות נקודות הקצה של API האזוריות שלך.
תן לאזורים = []; // השתמש באותיות קטנות. אזורים ['אירלנד'] = < "Host": "" >; אזורים ['סידני'] = < "Host": "" >; פונקציה getRegionalSettings (BestRegion)
הקוד הבא משתמש בפונקציית GetBestRegion כדי למצוא את אזור ה- AWS הטוב ביותר (על פי כביש 53), ואז ממפה אותה לתחום ולסוד של API באמצעות פונקציית GetRegionalSettings, ולבסוף משנה את כותרות הבקשה כדי להעביר את הבקשה ל- API שנבחר.
יצוא.Handler = async (אירוע, הקשר, התקשרות חוזרת) => < const request = event.Records[0].cf.request; let bestRegion = await getBestRegion(); let map = getRegionalSettings(bestRegion); let target_domain = map["Host"]; // Forward GraphQL subscription requests for WebSockets. request.origin.custom.domainName = target_domain; // Forward REST and GraphQL query/mutation requests. request.headers["host"] = [< key: "host", value: target_domain >]; // קונסולה.יומן (בקשה לכותרות מוגדרות כ- "$") התקשרות חוזרת (null, בקשה); >;
זרימה מקצה לקצה
התרשים הבא (איור 3) מראה את זרימת התקשורת מקצה לקצה בין הפיתרון’S רכיבים.
הוא מתאר חזותית כיצד מתורגמת לראשונה בקשה מלקוח על ידי כביש 53 (או כל שרת DNS אחר), ואז נשלחת להפצה של CloudFront הרשומה ב- DNS. לאחר מכן CloudFront מאמת את הבקשה’S אישור באמצעות ACM ואז משנה את המקור לנקודת הקצה של ה- API עם החביון הנמוך ביותר ללקוח על ידי מינוף Lambda@Edge. לבסוף, הבקשה נשלחת לנקודת הקצה האזורית האזורית הטובה ביותר, ול- API’התגובה S מועברת חזרה ללקוח על ידי CloudFront.
איור 3: תרשים זרימת הודעות
בדיקת הפיתרון הפעיל/פעיל שלך רב-אזורי
במבחן המתואר במאמר זה, אתה’להשתמש באותם אזורים באירלנד ובסידני ששימשו בתצורת הדגימה הקודמת של כביש 53. שלבי הבדיקה מניחים שאתה’VE כבר ביצע את הצעדים הקודמים שהוזכרו במאמר זה’הפרקים הקודמים לבניית פיתרון רב-אזורים.
לשלוט באיזה אזור אתה’מכה מחדש בזמן הבדיקה, אתה’אני צריך לקוח פרוקסי VPN או משהו דומה. שלבי הבדיקה במאמר זה בוצעו באמצעות Mullvad, שירות VPN מסחרי עם קוד פתוח שבסיסו בשבדיה.
בדיקת API פעילה/פעילה של GraphQL API
בצע את הצעדים הבאים כדי להכין את הבדיקות של פיתרון רב-אזורי בנקודות קצה של API של GraphQL.
קטע זה מאפשר לך לבנות סביבת מבחן AppSync מאפס, גם אם אין לך ניסיון קודם עם AppSync. אתה’השתמש בסביבה זו כתנאי מראש לבדיקת שאילתות ומנויים של GraphQL בשני החלקים הבאים.
- הפעל API של GraphQL לדוגמא באזורי אירלנד וסידני. זה יפרוס נקודת קצה API API של AppSync באופן מלא עם סכימת דוגמה הנתמכת על ידי מסד נתונים DynamoDB אזורי.
- כדי להסיר כל ספק לגבי איזה אזור נפגע מהבדיקות, דון’t אפשר טבלאות גלובליות של DynamoDB-אחרת, עקוב אחר הפריסה של Post Multi אזור של AWS AppSync עם טבלאות גלובליות של Amazon Dynamodb אם ברצונך לאפשר נתונים חוצה אזורים בזמן אמת ושכפול מנוי. המבחנים במאמר זה מניחים שאתה מקיים’t שכפול מופעל.
- השתמש באירלנד- Appsync.דוגמא.com, למשל, כאירלנד’S שם תחום מותאם אישית;
- השתמש בסידני- Appsync.דוגמא.com, למשל, כסידני’S שם תחום מותאם אישית;
- וודא שאתה מקשר את ה- API לשם הדומיין המותאם אישית.
אזורים ['אירלנד'] = < "Host": ".cloudfront.net" >; אזורים ['סידני'] = < "Host": ".cloudfront.net" >;
- למטרות בדיקה, צור פונקציה פשוטה של Lambda Rukerizer עבור ממשקי ה- API של GraphQL באמצעות הצומת הבא.קוד לדוגמא של JS ופרוס אותו לשני האזורים. פונקציה זו תקבל את המחרוזת “ מורשה בהתאמה אישית ” כאסימון ההרשאה התקף היחיד. שימו לב שאסימוני אימות מקודדים קשיחים’תרגול טוב, ואנחנו’השימוש בו רק כאן לפשטות מבחן. במקום זאת, שקול לאחסן את האסימונים שלך ב- AWS Secrets Manager.
יצוא.Handler = async (אירוע) => < const < authorizationToken >= החזרת אירוע < isAuthorized: authorizationToken === 'custom-authorized', resolverContext: <>>; >;
- הגדר את פונקציית Lambda Rukerizer כ- Rustomizer ברירת המחדל עבור נקודות הקצה של AppSync API האזוריות שלך (ראה כיצד כאן), והסר כל מפתחות API מתצורת AppSync. זה יהפוך את ה- API לזמין בפומבי עם אסימון פשוט תוך כדי ביצוע המבחן, מה שמקל על ביצוע הבדיקות. עם זאת, אלא אם כן זה בדיוק מה שאתה רוצה, המלצנו לך להסתכל על כל האפשרויות הזמינות כדי לאבטח את ממשקי ה- API של AppSync שלך.
- צור מוטציה באזור אירלנד כדי להוסיף רשומת דוגמה (עיין בדף זה למידע נוסף):
- נווט לאירלנד’מסוף Aws Appsync.
- נווט לאירלנד’s appsync api שיצרת בשלב קודם.
- בחר בכרטיסייה שאילתות בצד שמאל.
- בשדה האסימון ההרשאה, הקלד מורשה בהתאמה אישית (כמו ב- Lambda Rust.
- הפעל את פקודת המוטציה הבאה:
מוטציה CreateEvent < createEvent( name: "Ireland" when: "" where: "" description: "" ) < id name >>
בהנחה שאתה’יש כבר קבע את ה- Global-API שלך.דוגמא.com הפניות מחדש באמצעות השלבים מהפוסט הזה, ואז זה’זה! אתה’מוכן לבחון את נקודת הקצה שלך מרובי-אזורים.
בדיקת שאילתות graphql פעילות/פעילה שלך
בהנחה שאתה’כבר עקבו אחר הצעדים הדרושים לבניית סביבת בדיקת AppSync רב-אזורית מאפס כפי שהוסבר בסעיף הקודם, בצע את הצעדים הבאים לבדיקת פיתרון רב-אזורי עם שאילתות GraphQL.
- בלקוח ה- VPN שלך, הגדר חיבור לשרת VPN קרוב לאירלנד (ה.ז., לונדון, בריטניה).
- שאילתה את ה- API עם פקודת תלתל הדומה לדברים הבאים כדי להציג את נתוני הדגימה, החלפת שם הדומיין בשלך, והעברת אסימון ההרשאה שמאפשר על ידי רשות למבדה.
$ curl -xpost -h "הרשאה: מותאם אישית -מורשה" -d ' < "query": "query < listEvents < items < name >>> "> 'https: // Global-API.דוגמא.com/graphql/ - אשר שתגובת התלתל היא
< "data": < "listEvents": < "items": [ < "name": "Ireland" >] >>> - בלקוח ה- VPN שלך, הגדר חיבור לשרת VPN קרוב לסידני (E.ז., מלבורן, אוסטרליה).
- הפעל את פקודת התלתל שוב - התגובה צריכה להיות כעת
< "data": < "listEvents": < "items": [ < "name": "Sydney" >] >>>
כפי שאתה יכול לראות, הפעלת פקודת התלתל ממקומות שונים בעולם גורמת לנקודת קצה שונה של AppSync להשיב, אם כי אתה’להכות את אותה נקודת קצה של API של GraphQL API.
בדיקת המנויים שלך לגרפיקה פעילה/פעילה של ריבוי אזורים
כדי לבדוק מנויים של GraphQL, בצע את הצעדים הבאים כדי לבדוק אותם באמצעות WebSockets.
פרק זה מניח גם שאתה’כבר עקבו אחר הצעדים הדרושים לבניית סביבת מבחן AppSync רב-אזורית מאפס, כפי שהוסבר בסעיף הקודם.
גישת הבדיקה הבאה משתמשת בפוסטמן, אפליקציה המאפשרת לך לקיים אינטראקציה עם ממשקי API באמצעות POST, GET ו- WEBSOCKETS. רצף הצעדים המשמשים במבחן הבא מבוסס על ההוראות מבניית לקוח WebSocket בזמן אמת עבור AWS AppSync.
- צור עומס לחיצת יד כדי לשלוח בעת פתיחת חיבור ה- Websocket. בכלי שורת הפקודה שלך, הפעל את הפקודה הבאה, החלף את שם הדומיין בשלך, ושימוש באסימון המוגדר ברשות Lambda. התוצאה צריכה להיות מחרוזת Base64 Entrypted-שמור מחרוזת זו בפנקס רשימות בגלל שאתה’אני צריך את זה אחר כך לדואר’תצורת S.
$ הד '' | בסיס 64 - בדוור, צור חיבור רשת רשת חדש בעקבות ההוראות בדף זה. אתה אמור להיות מסוגל לעשות זאת על ידי בחירת הכפתור החדש ואז בחירת כפתור בקשת ה- WebSocket.
- בתיבת כתובת האתר של השרת, הקלד את כתובת האתר הבאה, וודא שתחליף את שם הדומיין שלך:
WSS: // Global-API.דוגמא.com/graphql/relem - בסעיף PARAMS, הוסף את הפרמטרים הבאים:
- מפתח: עומס מטען, ערך: e30 = (זה זהה לריק <>)
- מפתח: כותרת, ערך: (מחרוזת Base64 שיצרת בשלב הראשון)
- מפתח: Sec-Websocket-Protocol, ערך: graphql-ws
- ודא שהחיבור הוקם על ידי חיפוש אחר Postman’S תווית ירוקה מחוברת בקטע ההודעות, ועל ידי חיפוש אחר המחובר ל- WSS: //. הודעה באותו קטע.
< "id":"test", "payload": < "data": "", "extensions": < "authorization": < "Authorization":"", "host": "", > >>, "סוג": "התחל">
מִנוּי < subscribeToEventComments(eventId: "Ireland") < content >>
- ודא שהמנוי נוצר בהצלחה על ידי חיפוש אחר הודעת התגובה של Start_ack בדוור’קטע הודעות S. להודעת המנוי לעיל, התגובה צריכה להיות .
מוּטָצִיָה < commentOnEvent( content: "test-comment", createdAt: "2000-01-01", eventId: "Ireland" ) < commentId eventId createdAt content >>
כפי שאתה יכול לראות, מוטציות המבוצעות באזור (ה.ז., אירלנד) מפעילים את המנויים הקשורים לאזור זה. למוטציה אזורית יחידה להפעיל מנויים של לקוחות בכל האזורים (ה.ז., אירלנד וסידני), עליך להגדיר שכפול צולב עם התפשטות מוטציה. עקוב אחר הפריסה של Multi Multi אזור של AWS AppSync עם טבלאות גלובליות של Amazon Dynamodb כדי ללמוד כיצד לעשות זאת.
בניית יישום AMPLIFY לבדיקת API של GRAPHQL Multi-Rent
עכשיו כשאתה’מחדש בטוח כי ממשק ה- API הפעיל/פעיל של GraphQL Active שלך עובד הן עבור שאילתות ומנויים, אתה יכול למנף AWS AMPLIFY כדי ליצור לקוח מבחן עבור ה- API.
במאמר זה אנו משתמשים ב- VUE.JS עם Amplify JavaScript לבניית יישום לקוח פשוט, אך מגבר ספריות תומכות גם בלקוחות iOS, אנדרואיד ורפרוף, ובכך מספקים את אותן יכולות בשעות הרווח השונות הללו. הלקוחות Amplify הנתמכים מספקים הפשטות פשוטות לאינטראקציה עם AppSync GraphQL API Backend.
עקוב אחר רצף שלב זה כדי לבנות את יישום הבדיקה שלך.
- וודא שיש לך צומת.js מותקן - אתה צריך את זה לשלב הבא.
- צור Vue.JS הגביר את היישום באזור אירלנד על ידי הפעלת שלבים אלה.
- חבר את היישום שלך לאירלנד’s api.
- הפעל את הפקודה הבאה כדי לאגד את בקשתך לאירלנד’S AppSync נקודת קצה, החלפת ה- ו-::
AMPLIFY הוסף CODEGEN -APIID -פרופיל - הפעל את הפקודה הבאה כדי ליצור את הקוד המשויך לשאילתות ומנויים:
הגבר את קודגן
- הפעל npm הפעלה הגש בכלי שורת הפקודה שלך.
- ודא שיש’לא שגיאות.
- נווט אל http: // localhost: 8080/ - אתה אמור לראות את ברירת המחדל vue.יישום JS.
ListEvents (פילטר: $ פילטר, מגבלה: $ Limit, NextToken: $ NextToken) < items < id name where when description comments < items < content commentId >>> NextToken>
אירועים
מִקרֶה: < , name=">"">
>>>
- הפעל npm הפעלה הגש בכלי שורת הפקודה שלך.
- ודא שיש’לא שגיאות.
- נווט אל http: // localhost: 8080/ - כעת עליכם לראות את האירוע של אירלנד שנוצר בעבר במבחנים שלכם, ללא קשר לאן בעולם אתם’הפעל מחדש את היישום. זה בגלל שאתה’מחובר ישירות לאירלנד’נקודת קצה אזורית.
- לקראת השלב הבא, העתק את אירוע אירלנד’S ID לפנקס רשימות (זהו UUID אקראי 36 תווים-לינגה).
מוּטָצִיָה < commentOnEvent( content: "test-comment", createdAt: "2000-01-01", eventId: "" ) < commentId eventId createdAt content >>
- שנה את ה- SRC/AWS-Exports.קובץ JS, שינוי הערך של הפרמטר AWS_APPSYNC_GRAPHQLENDPOINT’נקודת קצה של A API לנקודת הכניסה הגלובלית שלך (ה.ז., https: // Global-API.דוגמא.com/graphql).
- על היישום לרענן באופן אוטומטי, לרשום את פריט אירלנד או את הפריט בסידני, תלוי איפה אתה נמצא בעולם.
בדיקת יישום AmpLify שלך כנגד API של GraphQL Multi-Rente שלך
בצע את הצעדים הבאים לבדיקת נקודת הקצה של API של GRAPHQL API עם יישום AMPLIFY.
- בלקוח ה- VPN שלך, הגדר חיבור לשרת VPN קרוב לסידני (E.ז., מלבורן, אוסטרליה).
- נווט אל יישום Amplify שלך בדפדפן אינטרנט (ה.ז., http: // localhost: 8080). כעת עליך לראות את האירוע של סידני שנוצר בעבר במבחנים שלך.
- הפעל פקודת מוטציה כדי להוסיף תגובה באירוע בסידני באותה צורה שעשית עבור אירלנד.
- ודא שההערה החדשה הופיעה אוטומטית ביישום שלך, ממש מתחת לאירוע סידני.
כפי שאתה יכול לראות, היישום שלך פוגע בצורה חלקה בנקודת הקצה של Appync API של AppSync, הן עבור שאילתות והן למנויים, תוך שהוא מחובר לנקודת קצה של API גלובלית יחידה.
לנקות
כדי לנקות את התשתית שנוצרה, מחק את ממשקי ה- APIS של AppSync, את הפצת CloudFront, את פונקציית Lambda@Edge ואת Round53 רשומות שיצרת למבחן זה.
סיכום
בפוסט זה תיארנו כיצד להפחית את החביון עבור משתמשי הקצה, תוך הגדלת יישום’זמינות S, על ידי מתן נקודות קצה של API באזורי AWS מרובים.
הפיתרון ממנף את CloudFront, Trape 53 ו- ACM כדי לתמוך בממשק ה- API הגלובלי שלך’s שם תחום מותאם אישית, ומשתמש ב- Lambda@Edge כדי להעביר בקשות נכנסות לנקודת הקצה הטובה ביותר של ה- API בהתבסס על חביון הרשת למבקש.
כדי להסביר את הפיתרון למפתחי API של GraphQL, סיפקנו דרך מעמיקה של ארכיטקטורת ההתייחסות שתוכלו להוריד כ- PDF כאן. אם אתה’מחדש מפתח API של REST, ואז אתה יכול להשיג תוצאות דומות על ידי ביצוע הפוסט באמצעות ניתוב מבוסס חביון עם Amazon Cloudfront עבור ארכיטקטורה פעילה-פעילה רב-אזורית.
כדי לשמור על הבדיקות פשוטות, לא עשינו’לא אפשר לשכפל נתונים חוצה אזורים. אם אתה’ד רוצה לבנות נקודת קצה פעילה/פעילה של GraphQL פעילה/פעילה עם נתונים חוצי-אזוריים ושכפול מנויים, ואז לשלב את מה שלמדת ממאמר זה יחד עם הפריסה של Multi Multi של AWS AppSync עם טבלאות גלובליות של Amazon Dynamodb.
אהרון SEMPF
אהרון SEMPF הוא אדריכל פתרונות שותפים עיקריים עולמיים, בצוות האינטגרטורים העולמי. כאשר לא עובד עם AWS GSI Partners, ניתן למצוא אותו מקודד אבות -טיפוס לרובוטים אוטונומיים, מכשירי IoT ופתרונות מופצים.
פרננדו איבנז
פרננדו איבנז הוא אדריכל פתרונות מבוסס צפון קרוליינה בצוות ההשכלה הגבוהה. פרננדו נהנה לעזור ללקוחות לתכנן וליישם פתרונות אוטומציה כדי להפוך את השימוש בענן שלהם לפשוט יותר. בזמנו הפנוי, פרננדו נהנה ללכת לתיאטרון, לנסות מטבחים חדשים ולבלות עם משפחתו.
חורחה פונסקה
חורחה הוא אדריכל פתרונות עם 20+ שנה בה, מחזיק 2 תארים מאסטר וכל אישורי AWS. ב.
ראלף ריצ'רדס
ראלף הוא אדריכל פתרונות באמזון שירותי אינטרנט שממוקמים בלונדון. הוא עובד עם לקוחות Enterprise Software & SaaS כיועץ טכני שעוזר להם להשיג את היעדים העסקיים שלהם בענן. הוא מתמחה גם בטכנולוגיות מכולות, עם עניין נלהב בבניית יישומים מודרניים באמצעות גישת שירותי מיקרו. מחוץ לעבודה הוא נהנה מצילום, לקרוא ולחקור מקומות חדשים בטיולי דרך.
Дמוד
Amazon CloudFront - эо сервисети досави контента (cdn), созаннный д в.
Примеры исолования
G
Хаlыайе зрителей по вем миру течение милисаунд лагодаряро בעולם, лений и шшрованию на уровне пол.
Уоорйе досав у динוחים
Оимизирйе досав уинамичесого веб-контента с помощюебиално нойасדרות совגות совגות со גות со גות со גות о גות דון о גות йо йо גות го גות гדון гמדים гfйеееדיה фрасруры aws, которая подерживает перифрийное завершениשיים и websockets.
Потоковая передача видо в режиме реаного времни ии по требованию
Оеративה з пйlte потоков передач, восрозодמוד uTe.
Расросранйе й иmаравения и бновения
או й сети (OTA).
Киены
Как начат рабоу
יו
Прочитайе руדיר.
Начат работ с помощ прוחים
Знайе, как с помощAmazon Cloudfront наладит досав контента и уорит рä.
Попробйе cloudfront бесатно
Нните разработ н נוע aws же сегодня багодаряесатной иходейерרבה ч.
Подробнרבה о aws
Подробнרבה о aws
- Чо та т aws?
- Чо?
- Инкивнדיר
- Чо такоal devops?
- Чо такое контейнер?
- Чо?
- Безопаснос оака aws
- Ноые возожноси
- Боги
- Прес рfлизы
יש
- Начало рабоы ы
- Оченние иертифация
- Бибиотека решений aws
- Цеדת архитекры
- אי
- Anнаитичесие оеы
- Партнеры aws
Рзрабочики на aws
- Центр разрабочика
- Le
- .רשת נטו
- פיתון на aws
- Java на Aws
- Php на aws
- JavaScript на AWS
Подержа
- Сжитес с нами
- Поление помощи сециалиса
- Оратит с ж ж
- Центр знаний
- AWS Re: POST
- תמיכה AWS AWS
- Юридеגש я информация
- Рота в aws
אֲמָזוֹנָה.com - раотодател равных возожносй. M предавител меншинс, женщинע, лицам с сраниченыи ыозожносm, веманоеесийососийосליח пmррnерntл пגות пגות пגות пגות גות גות גות והים б б ееерных гру ю ю ю.
- Кониденциניידה
- |
- Уовия ползования сайом
- |
- Параметры עוגיה
- |
- © 2023 г. Amazon Web Services, Inc. и orne дочерние предриия. Вely права защищены.
В ш бразalty uterneл. Рекенндרבה.
Прекращение подержи Explorer Internet
Подержа aws д л л Internet Explorer заканчивае 07/31/2022. Подержבור. Подробнרבה »
- הפעל את הפקודה הבאה כדי לאגד את בקשתך לאירלנד’S AppSync נקודת קצה, החלפת ה- ו-::