Table of Contents
זרימת נתונים בזמן אמת הפכה ליכולת חיונית במערכות הפעלה הנדסיות מודרניות.בין אם ניהול צי של כלי רכב אוטונומיים, תזמר רובוטים תעשייתיים על רצפת מפעל, או איזון עומסים על פני רשת חשמל חכמה, מערכות צריכות להיות מקיפים, תהליך ולפעול על זרמים של נתונים עם עצלות אפסית.ההבדל בין מערכת שמגיבת במילימטרים לעומת שניות יכול להיות ההבדל בין ניתוח בטוח לבין מהנדסי דרך, לבין ביצועים מעשיים, כדי לבצע פעולות עיצוב.
הבנת שידור מידע בזמן אמת ב- Engineering Contexts
זרימת נתונים בזמן אמת מתייחסת לשידור מתמשך ולעיבוד של רשומות נתונים כפי שהם נוצרים. במערכות הפעלה הנדסיות, זה מעבר להודעות פשוטות - זה דורש התנהגות חקונית, סובלנות אשמה, ואת היכולת להתמודד עם מסיבי דרך חישוב. מקורות אופייניים כוללים חיישנים, בקרים, יומני טלמטארי, ואירועי עיבוד ממכונות.
לדוגמה, רכב אוטונומי מייצר עשרות ג'יגה-ביייט של נתוני חיישן לשעה - סריקות לידר, מסגרות מצלמה, עדכוני GPS ומידע מצב הרכב.יש לייעל נתונים אלה על יחידות עיבוד לוחיות ולעתים לתשתיות מרוחקות ללמידה ציית. בדומה לכך, קו ייצור תעשייתי מייצר אלפי אירועים בשנייה מ- PLCs (מפקחים אמינים יעילים) וכלי נשק רובוטיים; כל עיכובים בזיהוי תקלות יכולות להוביל למקרים אלה או לתקלות.
מאפיינים מרכזיים של הזרמת זמן אמת במערכות הנדסיות כוללים:
- (ב) [15] ,0) ל"התמדה" (בתרגום חופשי: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) , ⁇ ⁇ : מערכות חייבות להתמודד עם מיליוני אירועים בשנית מרשתות חיישן גדולות.
- (ב) ,0) הוראת נתונים ועקביות (FLT:1: ⁇ ) : נושאים לשיפוץ אירועים או ביצוע ניתוח של זמן.
- (ב) עיין:0 (ב) ,0) ,(Faultסובלנות) ,(הצנרת הזרמה חייבת להמשיך לפעול כאשר צמתים או רשתות בודדות נכשלים.
הבנת יסודות אלה קובעת את הבמה ליישום שיטות הטובות ביותר העומדות בפני מגבלות עולם אמת.
הפרקטיקה הטובה ביותר ליישום
1.בחירת פלטפורמת הסטרימינג הנכונה
בחירת פלטפורמה זורמת היא הבסיס של האדריכלות בזמן אמת שלך.בעוד אפשרויות רבות קיימות, מערכות ההפעלה המאומץ ביותר הן FLT:0Apache קפקאFLT:1,2 רבטמבייט 3, FLT:4MQuaFLT 3:5, ו-FLT:6ALT:6Apache PLT:27 , 000 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
(FLT:0)Apachecio קפקאFLT:1 נבנה עבור נתונים גבוהים, עמיד, וניתן לשחזר את האירוע הזרמת.It מצטיין בתרחישים שבהם אתה צריך decouple יצרנים מהצרכנים ו replay נתונים היסטוריים, כגון חיישנים חיישנים עבור ניתוח לאחר מצע-insubdent.עם זאת, אדריכלות של קפקא (מבוסס על מחויבויות ומורכבות) יכול להציג תצורה במיוחד עבור מערכות שקיפות נמוכה מאוד (אך).
(FLT:0) רבי-מבארמב"ד (R) הוא מתווך מסר חזק המציע משלוח גמיש ומתמשך.זה עובד היטב עבור תורי משימה והודעות שליטה שבו המשלוח מובטח הוא קריטי, אבל לוח המעבר שלו הוא בדרך כלל נמוך יותר מאשר קפקא כאשר הוא מטפל הזרמת בקנה מידה גדול.
(FLT:0) MQTTIRLT:1 (Mesage Queuing Telemetry Transport) הוא פרוטוקול פאב / סוב קל המיועד לרשתות מוגבלות - מקורן בפריסות IoT ופרק קצה.הוא תומך בשלושה רמות של איכות השירות (QoS) עבור מערכות הנדסיות פועל על מכשירים מוגבלים משאבים (למשל, מיקרו-בקרים, חיישנים), MQ הוא לעתים קרובות המתאים ביותר ל-ALTF2F:
(FLT:0)Apache PulsarFLT:103) משלב את עמידותה ואת החידוש של קפקא עם תמיכה מקומית עבור רב-יציבות ושכפול גיאוגרפי.זה יכול לאחד הזרמת ושקעים עבודה, מה שהופך אותו אטרקטיבי עבור פלטפורמות הנדסיות בקנה מידה גדול המשרתים צוותים מרובים או אתרים פיזיים.
כאשר בוחנים פלטפורמה, לשקול את תקציב השקיפות שלך, צרכי שמירת נתונים, תשתיות קיימות ומומחיות צוות.אל תעשה יתר על המידה: עבור חיוג-to-Cloud, MQTT עם ברוקר כמו Mosquitto עשוי מספיק; עבור צי עולמי של כלי רכב לשלוח ג'יגהבייט ליום, קפקא או Psar הוא מתאים יותר.
עיצוב איכות נתונים ואינטגרity
מערכות זמן אמיתיות לא יכולות להרשות לעצמן לעבד נתונים לא מדויקים או מושחתים.קריאה חד-פעורית עשויה לגרום להפסקת חירום במפעל או להטעות מתכנן נהיגה אוטונומי.הטמעת אמצעי איכות נתונים בשלב של אי-נוחות אינה ניתנת להשגה.
(FLT:0) Schema אימותationFLT:1 שימוש בכלים כמו Apache Avro, פרוטוקול Buffers, או JSON Schema מבטיח כי הודעות הנכנסות תואמות מבנים צפויים. a schema הרישום (מסופק על ידי קפקא או Confluent) מאפשר יצרנים וצרכנים לפתח schemas מבלי לשבור את הצינור. Rejectized הודעות מוקדם של יצרנים או רמת ברוקר מאשר להפיץ אותם.
(ב) אם מפיק מאריך הודעה בשל חלוף רשת, המערכת חייבת להכיר בשכפלות ולבטל אותן.
(FLT:0) טיפול חוזר (Error TreatmentFLT:1) דורש תורים מתים (DLQs) שבו הודעות נכשלות אימות או עיבוד מאוחסנים לבדיקה ידנית.אל תשחררו נתונים רעים בשקט - תזהרו על זה, ותקנו את הסיבה. עבור פלטפורמות הזרמת כמו הרבטמק"ק וקפא, דפוסי DLQ הם היטב מותאמים וצריכים להיות חלק של כל פריסה.
לבסוף, לשקול בדיקות שלמות מקצה לקצה באמצעות בדיקות הודעה או רטיפטוגרפיים ישים.זה חשוב במיוחד בתעשיות מוסדרות (מכשירים רפואיים, אוויר) שבו מסלולי ביקורת חייבים להוכיח כי הנתונים לא ננעלו עם.
אופטימיזציה רשת ותשתית
רוחב רשת ורוחב הפס הם לעתים קרובות צווארי הבקבוק העיקריים בסטרימינג בזמן אמת. מערכות הפעלה הנדסה לעתים קרובות משתרעות על מיקומים גיאוגרפיים מרובים - ממרכזי נתונים על-ידי מעלה כדי להזיז נקודות בשטח.כל הופ מציג עיכוב, כל כך ענייני טופולוגיה.
(FLT:0) עיבוד preprocessing: 1 (FLT) מקטין את כמות הנתונים שנשלחים לשרתים מרכזיים.לדוגמה, מצלמה חכמה יכולה לסנן מסגרות שבהן אין תנועה מזוהה; PLC יכול לאסוף קוראי חיישן לסמס לפני הזרמת אותם.זה מוריד את דרישות רוחב הפס ולשפר את יעילות יישומים.פלטפורמות הזרמה רבות תמיכה "מתווךים" לרוץ על מחשבים קטנים (למשל, , , , , , , , , , ⁇ ) עם דרישות רוחב פס"ט"ט"ט.
(FLT:0Network ScationFLT:1) באמצעות VLANs או קישורים ייעודיים לתנועה בזמן אמת מונעת גודש מהעברות גדולות (למשל, גיבויים, עדכוני קושחה) מדיניות השירות (QoS) במתים ו נתבים יכול לאשר מראש חבילות הזרמת הזרמת הזרמת מעל פחות זמן תנועה רגישה.
(FLT:0) ניהול ניהול מספר 1 של 1R) כולל בחירת פורמט הסידורי הנכון.JSON הוא אדם יקר אך פועלו; Apache Avro או Protocol Buffers הם קומפקטיים ומהירים ל parse.עבור זרמיטים גבוהים, כל על ידי te נשמר להפחית את הגמישות ומגדיל באמצעות דחיסה (למשל, gzip, Snap, Snap, , , , , , , ההרחבה, , , , , , , , ההרחבה , , , ההרחבה , , , , ההרחבה ההרחבה , , , ההרחבה , , , , , , , , , , , , , , , , , , , , , , , , , , ההרחבה , , ההרחבה , , ההרחבה ההרחבה , ההרחבה ההרחבה , , ההרחבה ההרחבה , ההרחבה ההרחבה , , Snap, , ההרחבה ההרחבה ההרחבה ההרחבה , , ההרחבה ההרחבה , ,
4. אבטחה והתאמה
אבטחה בסטרימינג בזמן אמת היא רב-שכבתית: נתונים במעבר, נתונים במנוחה, אימות של יצרנים וצרכנים, ואישור של פעולות. במערכות הפעלה הנדסיות, לפריצת יכול להיות השלכות פיזיות (למשל, חטיפת זרוע רובוטית או מניפולציה של בקרות רשת).
(הופנה מהדף ccEncrypt all data Flows: 1) באמצעות TLS (Transport Layer Security) בין לקוחות וברוקרים, ובין ברוקרים במקבץ.פלטפורמות רבות גם תמיכה הצפנה בשאר הודעות מאוחסנים.
(FLT:0) AuthenticationFLT:1 צריך להיות חובה. השתמש ב- TLS הדדי, SASL (Simple Authentication and Security Layer), או OAuth 2.0 בהתאם לפלטפורמה שלך.כל לקוח (רגיש, פועל, מיקרו-שירות) חייב להציג תעודה או אסימונים כדי להוכיח את זהותה.
(FLT:0)AuthorizationFLT 1 קובע מי יכול לפרסם נושא מסוים או לצרוך ממנו.יישם גישה לפחות פרטית: חיישן טמפרטורה צריך רק להיות מותר לכתוב לנושא "הטמפרטורה" ולא לנושא "פועל-מקודש" זה מונע שימוש לרעה גם אם מכשיר נפגע.
(FLT:0) Audit igoutingFLT:1 מכל הפעולות המנהליות ואירועי גישה לנתונים הכרחיים להיענות ולתגובה לאירוע. Retain יומניs in aמאובטח, unmutable forensic Analysis.
5. ניטור ושקיפות
אי אפשר לשפר את מה שאתה לא יכול למדוד.מערכות הזרמת בזמן אמת דורשות ניטור חזק כדי לזהות omalies, השפלה ביצועים וכישלונות לפני שהם משפיעים על פעולות.
(ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- הודעה באמצעות חישוב (הפקה וצריכה שיעורים לכל נושא/חלקה)
- שקיפות מקצה לקצה (הזמן מייצור הודעה לצריכה ביישום הסופי)
- Broker CPU, זיכרון, דיסק I/O, וניצול רשת
- lag לצרכנים (כמה רחוק מאחורי הצרכנים הם מהמסר האחרון)
- טעויות נחשבות (כישלונות חמורים, שגיאות של הפלה, הכחשות אימות)
(FLT:0)Distributed tracingFcioLT:1) עוזר נקודת ציון שבו עיכובים מצטברים בצנרת. כלים כמו OpenTelemetry יכול מכונות, ברוקרים, וצרכנים, ומאפשר למהנדסים לעקוב אחר חיישנים בודדים קורא מקורו באמצעות שלבים עיבוד מרובים.
(FLT:0)AlertingigtureFLT:1 יש להגדיר עבור סטייה מקווי בסיס רגילים.לדוגמה, אם lag הצרכן עולה על סף במשך יותר מדקה אחת, זה עשוי להצביע על צוואר בקבוק עיבוד או בעיה רשת.
לבסוף, ליישם ניטור סינתטי: לייצר הודעות מבחן במרווחים קבועים ולוודא שהם נצרכים בתוך השקיפות הצפויה.זה נותן בדיקה בריאותית עצמאית עבור תשתיות הזרמה.
סקאביה וחוסנות
מערכות הפעלה הנדסיות צומחות לעתים קרובות לאורך זמן – מעדות יותר חיישנים, יותר כלי רכב, יותר מפעלים.אדריכלות הזרמה חייבת לעלות באופן אופקי מבלי לדרוש עיצוב מחדש מלא.
(FLT:0partitioningFLT:1) הוא כיצד פלטפורמות כמו קפקא ופולסר להשיג קנה מידה. נושאים מחולקים לחלוקות; כל חלוקה יכולה להיות מטופלת על ידי מתווך אחר.מספר המחיצות צריך להיות מתוכנן על בסיס צפוי באמצעות לוח ומקבילות של צרכנים.
(FLT:0) ReplicationsFLT:1) מספק את הסובלנות של קידוד נתונים של לפחות 3 עבור נושאים קריטיים על פני תחומים שונים של כישלונות (אזורים, צריפים) כאשר מתווך יורד, עותק אחר יכול לקחת על עצמו לשרת את החלוקה ללא אובדן נתונים.עם זאת, שכפול מגביר את התנועה ברשת, כך לבדוק את הניתוק בין עמידות לכתיבה.
(FLT:0)Graceful DisFLT:1 במהלך כשלים: צרכנים עיצוב לטפל בגיבוי במערכות מטה הזרם.אם מסד נתונים הופך איטי, הצרכן הזרמה לא צריך להתרסק; במקום זאת, זה צריך לעצור את הבאת הודעות חדשות עד ניקוי צוואר הבקבוק.
שקול באמצעות מסגרת עיבוד של זרם (למשל, Apache Flink, קפקא סטרים) עבור פעולות מצביות כמו ggregations, מצטרף וחלון.מסגרות אלה לנהל חלוקה, מדינה, ובגידה סובלנות פנימית, צמצום הנטל על מפתחי יישומים.
אתגרים ופתרונות
עקבו אחרי Data Overload
כאשר נפח נתונים עולה על יכולת העיבוד, מערכות יכולות להיות מוצפות, מובילות להודעות שנופלות, עצלות מוגברת, או אפילו כשלים מתקפלים.כדי לנהל עומס יתר, ליישם את FLT:0backpressureFLT:1 מנגנונים: אם מערכת מטה-זרם לא יכול לעמוד, המפיק upstream צריך להאט או לעצור. פלטפורמות הזרמה רבות מציעים בחזרה לחץ (למשל, Reactive Streams, מדיניות מלאה של קפקאפר).
(FLT:0Sampling andסינוןing: לא כל נקודות הנתונים חשובות באותה מידה.ברשת חכמה, אתה עשוי לדגום מתח קורא כל 100 מ"מ בתנאים רגילים, אלא לעבור לכל 10 מ"מ כאשר אנומליות מזוהה.
(FLT:0)CompressionFLT:1) מקטין את אחסון הרשת מעל פני השטח כפי שהוזכר קודם לכן, באמצעות אלגוריתמים כגון Snappy או LZ4 מספקת דחיסה מהירה עם עלויות CPU מינימליות - לעתים קרובות להפחית את גודל ההודעה על ידי 50-70%.
כישלונות רשתיים
רשתות בסביבות הנדסה יכולות להיות בלתי אמינות - במיוחד בהגדרות תעשייתיות עם הפרעה אלקטרומגנטית, או בפעולות צי עם טיפות סלולריות.כדי להפחית כישלונות, עיצוב עבור FLT:0disconnected תפעולFLT:1 Edge התקנים צריך לאחסן נתונים מקומית כאשר קישוריות אבודה וכאשר מתחבר מחדש. , ברוקרים רבים MQTT תומכים מפגשים מתמידים כי הודעות עבור לקוחות לא מקוון.
(FLT:0) נתיבי רשת Redundant Networkeurs FLT:1 (למשל, כפול NICs, סלולרי + לווין) להבטיח כי כשל קישור יחיד אינו מוריד את כל הצינור בצד הברוקר, השתמש במספר העתקים על פני תת-נטות שונות כך שגם אם פלח רשת נכשל, ניתן להגיש שאילתות על ידי העתק נוסף.
המונחים: low Latency
עבור יישומים רגישים לעקביות (למשל, שליטה סגורה, הבריגה אוטונומית), כל מילימטרים ספירות.חשבו לרוץ ברוקרים וצרכנים במקרים ענן חשופים או ייעודי כדי להימנע מיפר-בידור מעל הראש. השתמש בגלגל זיכרון וירטואלי (עמודי הג') ולהוביל I/O היכן שניתן.
מסגרות עיבוד סטרימינג כמו Flink יכול לרוץ עם FLT:0low-latency ModeFIRLT:1, מיני מרווחי מחסומים וגודל אצווה. בצד הרשת, להשתמש בטכנולוגיות עקיצות גרעין כמו DPDK (Data Air Development Kit) או RDMA עבור העברת אפס-קופס בתרחישים מסחר או פיקוח תעשייתי.
איומים ביטחוניים
זרם נתונים בזמן אמת הוא מטרות אטרקטיביות עבור תוקפים.
- (ב) [15] ,0) ,התמדה של השירות (DoS)IRLT:1) נגד ברוקרים על ידי הצפה בהם עם הודעות.
- (FLT:0) הזרקת הזרקת הזרקה של מ"מ:1: חיישנים מסוכנים שולחים נתונים מזויפים. השתמש בחתימות דיגיטליות או ב-HMACs כדי לאמת את השלמות של הודעות.
- (ב) ,0) ,1 (ב) , ⁇ : ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
בדיקות חדירת קבועות ודבקות בסטנדרטים כמו IEC 62443 (אבטחת רשתות תקשורת תעשייתית) יכולות לזהות ולסגור פרצות.
מסקנה
זרימת נתונים בזמן אמת היא מערכת העצבים של מערכות ההפעלה הנדסה מודרנית. על ידי בחירה בקפידה של הפלטפורמה הנכונה, עיצוב איכות נתונים, תשתית רשת, יישום אמצעי אבטחה חזקים, בניית observability והיקף לכל שכבה, מהנדסים יכולים ליצור צינורות שהם גם נהלים חזקים ומבצעיים. האתגרים של עומס נתונים, תקלות ברשת, חריפות, ואבטחה יכולים להתגבר על עם אפשרויות חשיבה ו ניטור אמיתי - במיוחד עבור מערכות מחשוב מתקדמות יותר.