יום שישי, אוגוסט 28, 2015

ייתוש שמפרסם הודעות

אחד הדברים החמים שיצא לי לעבוד בהם לאחרונה היא הטכנולוגיה ה"ישנה" בשם MQTT.
מדובר על פרוטוקול שמאפשר העברת הודעות עם overhead מאוד נמוך ושאחד הפיטצרים שלו הוא חיוויי הודעות.

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

בשונה בפרוטוקולים כמו SOAP ב MQTT ניתן לבקש כי הודעת שרת תישלח רק פעם אחת , לפחות פעם אחת או בלי שום בדיקה.

כמשתמש קצה הדוגמה הקלאסית לשימוש ב MQTT היא ב facebook messanger (שם זה מגיע יחד עם thrift) או התקנה של ייתוש ולימוד שימוש בו.

מאוד בגדול ב MQTT מדובר בתוצרת מפרסם / מקבל ע"ג תור הודעות שמנוהל ע"י שרת מרכזי.

מאוד בגדול המערכת תורכב משלושה ישויות .

ברוקר - שרת שמקשר הודעות, פה מתנהל ניהול ה queue של ההודעות.
תוכנת פרסום - תוכנה שתודיע על קיום הודעה חדשה ושליחתה לברוקר.
תוכנת מקבל    - תוכנה שמושכת הודעות מהברוקר.

ה QOS עליו דיברתי מכיל שלושה ערכים אפשרים:

0 - אין שום אינדקציה לקבלת / שליחת ההודעה.
1 - פעם אחת לפחות (מחכה להודעת PUBACK)
2 - בדיוק פעם אחת.

בדומה למה שעושים ב REST יש endpoint שמציג מאפייני הודעות למשל עבור פייסבוק :

                /inbox
                /mercury
                /messaging_events
                /orca_presence
                /orca_typing_notifications
                /pp
                /t_ms
                /t_p
                /t_rtc
                /webrtc
                /webrtc_response

למה אני ממליץ על הייתוש (ואני שונא ייתושים) ולא אחרים ?

1. יש לו אחלה תיעוד
2. הוא מגיע מובנה בדביאן בלי שום דרישות מיוחדות.
3. הוא עובד בווינדוס


אין תגובות:

הוסף רשומת תגובה