יום שני, 28 בספטמבר 2015

276 Fogcast 20 - queues

הרבה זמן לא הקלטנו פרק של פוגקאסט שבו אנחנו מדברים על נושא אחד באופן חופשי יחד עם ליאור שיאון.
מזכיר את קבוצת הפייסבוק שלנו שבה אפשר לשתף הכל, ואת הטוויטר שלנו, הבלוג או אפילו RSS.
הנושא שלנו הפעם הוא Queuing.
  • Queuing – פעולות אסינכרוניות שנעשות בשירות שלנו. כלומר מחזירים תשובה במהירות למשתמש, אבל הפעולות נעשות ברקע. (1:10)
  • במערכת גדולה מספר ההודעות עולה, ה-Flow הולכים ומסתבכים. אין כמעט כלי אדמיניסטרציה מוכנים לניהול Flow ונדרש מימוש עצמי. (2:08)
  • המוטיבציה הראשונה להכנסת Queue היא הורדת עומס משכבת ה-Frontend או שכבת ה-API. מערכות שנמצאות בשימוש עיקרי הן SNS, Kafka, Resque ואחרות. (3:03)
  • איך לבצע חישוב שיש בו מספר צעדים, ואתה רוצה לדעת היכן יש הודעות תקועות. לפעמים אתה לא יודע מה ה-Flow בכלל. (6:28)
  • חייבים לשמור על הסדר בשביל מעקב, או בשביל לשנות את הלוגיקה של החישוב. כמו לדוגמא בוולידציה של נתונים לפני שמירה. (8:58)
  • מערכת שמבצעת Orchestration, כלומר לכל מידע יהיה מוצמד State מסוים, כזה כלי לא מצאנו במערכות של Queuing בלי לכתוב קוד. למרות שיש מערכות לחישוב שקרובות מאוד למה שנדרש. (9:47)
  • במערכות כאלו ל-Controller יש State Machine של החישוב, כאשר Workers שונים מבצעים את הפעילות לפי הגדרה מראש. (13:33)
  • השאלה אם לא מוותרים על הביזוריות של ה-Queue, ומעבירים את העומס למקום אחר. (16:38)
  • הבחירה ברוב המקרים היא בין פתרון פשוט מבוסס קוד פתוח, או פתרון מורכב של טכנולוגיה קניינית יותר. (19:05)
  • ברור שכאשר מדובר ברכיב שהוא מרכזי עבורך, לא כדאי להיות תלוי בספק חיצוני. (23:35)

הקובץ נמצא כאן, האזנה נעימה ותודה לרועי שלומי על התקציר של הפרק.

אין תגובות:

פרסום תגובה