مهندسی نرمافزار مدرن دیگرچارهای جز حرکت به سمت پردازش بیدرنگ دادهها ندارد و سیستمهای ما از پردازش دستهای کند به سمت جریانهای داده پیوسته حرکت میکنند. بدون درک دقیق از بازار جریانسازی داده، تیمهای فنی ابزارها را به شکلی ناهمگون به یکدیگر متصل میکنند که در نهایت به ساخت خط لولههای شکننده و پرهزینه منجر میشود. در قلب ارتباطات ناهمگام، صفهای پیام (Message Queues) و سرویسباسها (Service Buses) قرار دارند که سالهاست اسبهای بارکش معماری سازمانی بودهاند. یک صف پیام سنتی دقیقاً مانند یک صف نانوایی عمل میکند؛ پیامها به نوبت میآیند، پردازش میشوند و برای همیشه از بین میروند. این مدل برای توزیع وظایف عالی است، اما زمانی که چندین سیستم نیاز دارند به تاریخچه یکسانی از رویدادها دسترسی داشته باشند، دچار محدودیت میشود. برای حل این مشکل، سرویسباسها با ارائه امکانات متمرکز برای مسیریابی و امنیت وارد میدان شدند. با این حال، متمرکز کردن تمام کنترل ارتباطات یک سازمان بزرگ، مقیاسپذیری را به شدت محدود میکند و باعث ایجاد گلوگاههای جدی میشود. با ورود به دنیای اینترنت اشیاء (Internet of Things)، میلیونها دستگاه لبه شبکه (Edge Devices) دادههای تلمتری تولید میکنند که نیازمند پروتکلهای سبکوزن هستند. پروتکل MQTT دقیقاً برای همین منظور طراحی شده است؛ این پروتکل با استفاده از یک بروکر مرکزی، حسگرهای محیطی را از سیستمهای پردازشی سنگین جدا میکند. در همین حال، برای اتصال سیستمهای اینترنت اشیاء به وب، از پروتکلهای HTTP و WebSocket استفاده میشود تا ارتباطات دوطرفه پایدار برقرار گردد. هنگامی که این رویدادها به لایه پردازش میرسند، سامانههای پردازش رویداد (Event Processing) وارد عمل میشوند. امروزه این پردازش شامل توابع (Functions) سرورلس، پلتفرمهای کد کم و بدون کد (Low-Code and No-Code Processors)، و پلتفرمهای قدرتمند مبتنی بر لاگ (Log-Based Stream Processing Platforms) مانند آپا برخلاف صفهای سنتی، پلتفرمهای مبتنی بر لاگ رویدادها را به ترتیب زمان ذخیره میکنند و اجازه میدهند مصرفکنندگان مختلف در طول زمان به جلو و عقب حرکت کنند. در این میان، پردازش جریان حالتمند (Stateful Stream Processing) مدل وضعیت سیستم را مستقیماً درون موتور پردازش نگه میدارد تا از مراجعه مکرر به پایگاه داده جلوگیری شود. معماران در این بازار باید پیوسته میان سادگی صفهای موقت و قدرت ذخیرهسازی بلندمدت لاگها، بدهبستان (Trade-off) دقیق انجام دهند. [ ] مقایسه تفاوتهای کلیدی میان تضمین تحویل در صفهای پیام سنتی و جریانهای لاگمحور. [ ] ارزیابی نحوه عملکرد بروکر MQTT در مدیریت ارتباطات دستگاههای لبه شبکه. [ ] تحلیل مزایا و معایب استفاده از پلتفرمهای بدون کد در پردازش رویدادهای بیدرنگ. [ ] پیادهسازی الگوی منبعیابی رویداد برای بازسازی وضعیت سیستم پس از خرابی ناگهانی.
