خانه / کلان داده / آموزش و یادگیری / سامانه‌های پردازش جریان : استورم و هِرون

سامانه‌های پردازش جریان : استورم و هِرون

استورم[۱] ابتدا توسط یکی از مهندسین شرکت BackType، آقای Nathan Marz تولید و توسعه داده شد که پس از خریداری شدن توسط توئیتر، متن باز شده و سپس به بنیاد آپاچی واگذار شد. این پروژه که توسط شرکتهای معتبری مانند یاهو و توئیتر مورد استفاده قرارگرفت، به سرعت به عنوان یک بستر پردازشی بلادرنگ و توزیع شده در دنیا مطرح شد.

از آنجا که استورم، یکی از اولین سامانه­‌های تخصصی برای پردازش جریان­ در مقیاس کلان بود، به استورم، هدوپ دنیای پردازش جریان هم گفته می­شد. در مستندات رسمی استورم، توصیف آن به صورت زیر آمده است :

«استورم پردازش حجم نامحدود داده‌­های جریانی را به گونه‌­ای مطمئن، ممکن می­سازد همان کاری که هدوپ برای پردازش­های زمان­مند و گروهی انجام می­دهد

http://storm.apache.org

استورم، در ابتدا با هدف مقیاس­‌پذیری و تحمل خطا ایجاد شد و تضمین کرد که هر رخداد، حتماً یک بار پردازش می­شود.

در بستر استورم، با دو مولفه اصلی که ترکیب آنها تشکیل دهنده یک گراف غیر مدور هستند، مواجهیم: گره­‌های ورودی یا Spout و گره­‌های پردازشی یا Bolt. به گراف پردازشی که این گره­‌ها را به هم متصل می­کند، توپولوژی گفته می ­شود. هر توپولوژی، به صورت پیش‌­فرض امکان اجرا روی کلاستری از سیستم‌ها را دارد.

برای مطالعه :   سامانه‌های پردازش جریان : اسپارک

شکل  1 – معماری آپاچی استورم

داده‌­ها از طریق Spout ها به ترتیب وارد مجموعه­‌ای از Bolt ها شده و کارهایی از قبیل تغییر شکل، ذخیره در بانک­‌های اطلاعاتی، افزوده شدن آمار و مانند آن در این بین انجام می­پذیرد.

مثال زیر یک سیستم عملیاتی مبتنی براستورم را برای بررسی لحظه­‌ای ترافیک یک شبکه را نشان می­دهد که بسته‌­های در حال حرکت در شبکه، از طریق kafka Spout وارد سامانه استورم شده و توسط گره­‌های مختلف Bolt پردازش و درصورت مشاهده مورد مشکوک، هشدارهای لازم در این چرخه تولید خواهد شد.

شکل ۲ – یک مثال از نحوه کار آپاچی استورم – یک مثال عملی

توپولوژی استورم گاهاً با کارهای روش کلاسیک توزیع و تجمیع [۲] مقایسه می­‌شود اما تفاوت اصلی و مهم آن این است که یک توپولوژی همواره در حال اجراست مگر این­که به صورت دستی متوقف شود درصورتی­که در روش پردازش توزیع و تجمیع، براساس درخواست کاربر مجموعه عملیاتی شروع و بعد از مدت­ زمان لازم برای حصول نتیجه، به پایان می­رسد.

خوبی دنیای متن­‌باز[۳] این است که امروزه Spout های زیادی برای اتصال به منابع داده­ای مختلف در دسترس است. حتی آداپتورهایی برای اتصال مستقیم به HDFS نیز در دسترس است.

سخن آخر اینکه استورم معمولاً همراه با سایر فناوری­های مانند صف توزیع شده کافکا به کار می­رود و البته در تجربه کاری که چند سال پیش با استورم داشتیم، متاسفانه نحوه عیب‌یابی و اشکال‌زدایی آن کمی اذیت کننده بود بخصوص زمانی که سیستم به صورت ناگهانی متوقف می‌شد و دلیل آن را در لاگ‌های سیستم پیدا نمی‌کردیم.

برای مطالعه :   کدام موتور پردازشی هدوپ را باید استفاده کنیم ؟

به دلیل ساختار قدیمی و مشکلاتی که در استورم وجود داشت، توئیتر این سامانه را که خود توسعه و به بنیاد آپاچی واگذار کرده بود را با چارچوب پردازشی جدیدتری با نام هِرون در سال ۲۰۱۴ جایگزین کرد و تا امروز، توسعه‌های زیادی روی آن انجام شده است و اتکای توئیتر به عنوان یکی از بزرگترین تولیدکنندگان داده در دنیا به این پروژه که فعلا در مرحله رشد در بنیاد آپاچی است و نسخه اولیه آن هنوز رسما وارد بازار نشده است، امیدبخش آینده‌ای خوب برای این سامانه است.

مزیت بزرگ هِرون، شباهت زیاد آن با استورم است به گونه‌ای که کدهای قبلی که با استورم نوشته شده است را به راحتی می‌توان با هِرون هم اجرا کرد (منبع ).

نقاط قوت این سامانه پردازش جریان نوین را در شکل زیر می‌توانید مشاهده کنید :

اهداف طراحی هِرون

برای مشاهده نمونه کد اجرایی هِرون به این مقاله می‌توانید مراجعه نمایید.


[۱]   Apache Storm

[۲]  Map/Reduce Jobs

[۳]  Open Source

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.