Apache Storm

Apache Storm چیست؟

Apache Storm  یک چارچوب محاسباتی پردازش جریان توزیع شده و متن باز است که به طور عمده در زبان برنامه نویسی Clojure  نوشته شده است.  Apache Storm موجب میشود که پردازش قابل اطمینان جریان نامحدودی از داده ها برای پردازش بلادرنگ که هدوپ برای پردازش دسته ای انجام می دهد، راحت شود. Storm  به توسعه دهندگان اجازه می دهد تا برنامه های قدرتمندی را ایجاد کنند که بسیار پاسخگو بوده و می توانند روند(trend)های میان موضوعات را در توییتر پیدا کنند، پیگیری های ناشی از شکست پرداخت را انجام دهند و … .

Apache Storm ساده است و بهترین نکته در مورد Apache Storm تعداد زیادی از کارهایی است که می توان با آن انجام داد.Storm با چندین زبان سازگار بوده، برای پردازش مجموعه های داده های بزرگ بسیار سریع، مقیاس پذیر، تحمل پذیری خطا، و با ویژگی های شگفت انگیزتر بسته بندی شده است.

Apache Storm چگونه کار می کند؟

Storm  به جای کارهای MapReduce که ممکن است با آن آشنا باشید، توپولوژی هایی را اجرا می کند.  توپولوژیStorm  متشکل از اجزای متعددی است که در یک گراف آسيلیک هدایت شده (DAG) مرتب شده اند.  داده ها بین اجزای گراف در جریان هستند.  هر مولفه یک یا چند جریان داده را مصرف می کند و می تواند به صورت اختیاری یک یا چند جریان را منتشر کند.  نمودار زیر نشان می دهد که چگونه داده ها بین اجزای یک توپولوژي بر پایه شمارش کلمه (word-count) جریان می یابند:

  • اجزای مخرن (Spout ) داده ها را به یک توپولوژی می رساند. آنها یک یا چند جریان را به توپولوژی انتشار می دهند.

مزایای استفاده از Apache Storm

مزایای استفاده از Apache Storm عبارتند از:

  • به پردازش جریان بلادرنگ اجازه می دهد.
  • مقیاس پذیری – که در آن سرعت ارسال حتی یک میلیون پیام ۱۰۰ بایت در هر ثانیه در هر گره قابل دستیابی است.
  • زمان تاخیر کم – Storm تازه کردن داده ها و پاسخ تحویل پایان به پایان(end-to-end) را در ثانیه یا دقیقه بسته به مشکل انجام می دهد.
  • قابلیت اعتماد – Storm تضمین می کند که هر واحد داده (مرتبه) حداقل یک بار یا دقیقا یک بار پردازش می شود.
  • کاربری آسان – پیکربندی استاندارد مناسبی برای تولید در روز اول دارد. هنگامی که مستقر شود، کاربری آسانی خواهد داشت.
  • تحمل پذیری خطا: قابلیت تحمل خطا برای Storm بسیار مهم است زیرا تمام وقت داده های عظیم را پردازش می کند و نباید حتی با کمترین شکستی، مانند خرابی سخت افزار در گره های خوشه Storm ، دچار وقفه شود.  Storm می تواند وظایف را زمانی که لازم است بازنشانی کند.
  • تضمین داده: از دست ندادن داده ها یکی از الزامات اساسی برای یک سیستم پردازش داده ها است. خطر از دست رفتن داده ها در استفاده از اکثر زمینه ها، مخصوصا برای کسانی که برای نتایج دقیق درخواست می کنند، قابل قبول نیست.  Storm  اطمینان می دهد که تمام داده ها پردازش می شوند، همانطور که در پردازش آنها در توپولوژی طراحی شده اند.
  • سهولت استفاده در استقرار و مدیریت سیستم.
  • پشتیبانی از چند زبان برنامه نویسی.
  • خرابکاری می تواند در لحظه ای که رخ می دهد تشخیص داده شده و اقدامات مناسب برای محدود کردن آسیب آن انجام شود.

نویسنده نوشته: N.M

N.M

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

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