לדלג לתוכן

9 - פרויקט מסכם - פרויקט

פרויקט מסכם - שירות בינארי עם שני ערוצי כניסה

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

חוזי הממשקים

בממשק הרשת השתמשו במסגרת של הרצאה 9.3, עם גרסה אחת, סוג בקשה וסוג תשובה, מזהה ואורך גוף. כל חיבור מטפל בבקשה אחת בפרויקט הבסיסי. הגדירו מגבלה של ארבעה קיביבייט לגוף, מועד לבקשה ודחייה של כותרת או גוף קטועים. התשובה צריכה לשמור את מזהה הבקשה המקורי.

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

גבולות חיים ועומס

הגבילו לשש עשרה את מספר הבקשות שבאחריות השירות. כאשר אין מקום, אל תיצרו תור בלתי מוגבל של משימות שמחכות להיתר. הגדירו מה הלקוח רואה במקרה של דחייה. החזיקו את ההיתר עד סיום חיי העבודה והתגובה, כולל עבודה חוסמת שהועברה למאגר אחר.

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

בדיקות המערכת

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

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

הרחבה לאחר הבסיס

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