28 בספטמבר 2015 פרק 276 fogcast
276 Fogcast 20 - queues
הרבה זמן לא הקלטנו פרק של פוגקאסט שבו אנחנו מדברים על נושא אחד באופן חופשי יחד עם ליאור שיאון.
הנושא שלנו הפעם הוא 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)
קישור היסטורי • קישור קבוע