Apache Storm 2.0 تقسیم شدہ کمپیوٹنگ سسٹم دستیاب ہے۔

روشنی دیکھی۔ تقسیم شدہ ایونٹ پروسیسنگ سسٹم کی اہم ریلیز اپاچی طوفان 2.0، جاوا میں لاگو کردہ ایک نئے فن تعمیر میں اس کی منتقلی کے لئے قابل ذکر ہے، بجائے اس کے کہ پہلے استعمال شدہ Clojure زبان۔

پروجیکٹ آپ کو حقیقی وقت میں مختلف واقعات کی ضمانت شدہ پروسیسنگ کو منظم کرنے کی اجازت دیتا ہے۔ مثال کے طور پر، Storm کو حقیقی وقت میں ڈیٹا اسٹریمز کا تجزیہ کرنے، مشین لرننگ کے کاموں کو چلانے، مسلسل کمپیوٹنگ کو منظم کرنے، RPC، ETL وغیرہ کو نافذ کرنے کے لیے استعمال کیا جا سکتا ہے۔ یہ سسٹم کلسٹرنگ، فالٹ ٹولرنٹ کنفیگریشنز کی تخلیق، گارنٹی شدہ ڈیٹا پروسیسنگ موڈ کو سپورٹ کرتا ہے اور اس میں اعلی کارکردگی ہے، جو ایک کلسٹر نوڈ پر فی سیکنڈ دس لاکھ سے زیادہ درخواستوں پر کارروائی کرنے کے لیے کافی ہے۔

مختلف قطار پروسیسنگ سسٹمز اور ڈیٹا بیس ٹیکنالوجیز کے ساتھ انضمام کی حمایت کی جاتی ہے۔ طوفان کے فن تعمیر میں حساب کے مختلف مراحل کے درمیان تقسیم کرنے کی صلاحیت کے ساتھ صوابدیدی پیچیدہ پروسیسرز کا استعمال کرتے ہوئے غیر ساختہ، مسلسل اپ ڈیٹ شدہ ڈیٹا اسٹریمز کو وصول کرنا اور اس پر کارروائی کرنا شامل ہے۔ اس پروجیکٹ کو اپاچی کمیونٹی کے حوالے کر دیا گیا جب ٹویٹر نے بیک ٹائپ حاصل کر لیا، وہ کمپنی جس نے اصل میں فریم ورک تیار کیا تھا۔ عملی طور پر، طوفان کو بیک ٹائپ میں مائیکرو بلاگز میں ہونے والے واقعات کی عکاسی کا تجزیہ کرنے کے لیے استعمال کیا گیا، فلائی پر نئی ٹوئٹس اور ان میں استعمال ہونے والے لنکس کا موازنہ کر کے (مثال کے طور پر، اس بات کا اندازہ لگایا گیا کہ کس طرح ٹوئٹر پر شائع ہونے والے بیرونی لنکس یا اعلانات دوسرے شرکاء کے ذریعے دوبارہ نشر کیے گئے۔ )۔

طوفان کی فعالیت کا موازنہ ہڈوپ پلیٹ فارم سے کیا جاتا ہے، جس میں اہم فرق یہ ہے کہ ڈیٹا گودام میں محفوظ نہیں کیا جاتا ہے، بلکہ اسے باہر سے کھایا جاتا ہے اور حقیقی وقت میں اس پر کارروائی کی جاتی ہے۔ طوفان میں بلٹ ان اسٹوریج پرت نہیں ہے اور تجزیاتی استفسار آنے والے ڈیٹا پر لاگو ہونا شروع ہو جاتا ہے جب تک کہ اسے منسوخ نہیں کر دیا جاتا ہے (جبکہ ہڈوپ محدود وقت کے میپ ریڈوس جابز کا استعمال کرتا ہے، طوفان "ٹپولاجیز" کو مسلسل چلانے کا خیال استعمال کرتا ہے)۔ ہینڈلرز کے عمل کو کئی سرورز میں تقسیم کیا جا سکتا ہے - طوفان خود بخود مختلف کلسٹر نوڈس پر تھریڈز کے ساتھ کام کو متوازی کرتا ہے۔

سسٹم اصل میں Clojure میں لکھا گیا تھا اور JVM ورچوئل مشین کے اندر چلتا ہے۔ اپاچی فاؤنڈیشن نے جاوا میں لکھے گئے نئے کرنل میں طوفان کو منتقل کرنے کے لیے ایک پہل شروع کی ہے، جس کے نتائج اپاچی طوفان 2.0 کی ریلیز میں تجویز کیے گئے ہیں۔ پلیٹ فارم کے تمام بنیادی اجزاء جاوا میں دوبارہ لکھے گئے ہیں۔ Clojure میں لکھنے والے ہینڈلرز کے لیے سپورٹ کو برقرار رکھا گیا ہے، لیکن اب بائنڈنگز کی شکل میں پیش کیا جاتا ہے۔ Storm 2.0.0 جاوا 8 کی ضرورت ہے۔ ملٹی تھریڈڈ پروسیسنگ ماڈل کو مکمل طور پر دوبارہ ڈیزائن کیا گیا ہے، جس کی اجازت دی گئی ہے۔ کے حصول کے لئے کارکردگی میں نمایاں اضافہ (کچھ ٹوپولاجیز کے لیے، تاخیر 50-80% تک کم ہوئی)۔

Apache Storm 2.0 تقسیم شدہ کمپیوٹنگ سسٹم دستیاب ہے۔

نیا ورژن ایک نیا ٹائپ شدہ اسٹریمز API بھی پیش کرتا ہے جو آپ کو فنکشنل پروگرامنگ طرز کے آپریشنز کا استعمال کرتے ہوئے ہینڈلرز کی وضاحت کرنے کی اجازت دیتا ہے۔ نیا API معیاری بیس API کے اوپر لاگو کیا گیا ہے اور ان کی پروسیسنگ کو بہتر بنانے کے لیے آپریشنز کے خودکار انضمام کی حمایت کرتا ہے۔ ونڈو آپریشنز کے لیے ونڈونگ API نے بیک اینڈ میں حالت کو بچانے اور بحال کرنے کے لیے تعاون شامل کیا ہے۔

جب تک محدود نہیں فیصلے کرتے وقت اضافی وسائل کو مدنظر رکھنے کے لیے تعاون
CPU اور میموری، جیسے نیٹ ورک اور GPU سیٹنگز۔ پلیٹ فارم کے ساتھ انضمام کو یقینی بنانے کے لیے بڑی تعداد میں اصلاحات کی گئی ہیں۔ Kafka. رسائی کنٹرول سسٹم کو بڑھا دیا گیا ہے تاکہ ایڈمنسٹریٹر گروپس بنانے اور ٹوکن ڈیلیگیٹ کرنے کی صلاحیت شامل ہو۔ ایس کیو ایل اور میٹرکس سپورٹ سے متعلق بہتری شامل کی گئی۔ کلسٹر اسٹیٹ کو ڈیبگ کرنے کے لیے ایڈمنسٹریٹر انٹرفیس میں نئی ​​کمانڈز نمودار ہوئی ہیں۔

طوفان کے لیے درخواست کے علاقے:

  • حقیقی وقت میں نئے ڈیٹا یا ڈیٹا بیس اپ ڈیٹس کے سلسلے پر کارروائی کرنا؛
  • مسلسل کمپیوٹنگ: طوفان مسلسل سوالات چلا سکتا ہے اور مسلسل سلسلے کو پروسیس کر سکتا ہے، کلائنٹ کو حقیقی وقت میں پروسیسنگ کے نتائج فراہم کرتا ہے۔
  • ڈسٹری بیوٹڈ ریموٹ پروسیجر کال (RPC): طوفان کو وسائل سے متعلق سوالات کے متوازی عملدرآمد فراہم کرنے کے لیے استعمال کیا جا سکتا ہے۔ طوفان میں ایک جاب ("ٹوپیولوجی") ایک فنکشن ہے جو نوڈس میں تقسیم کیا جاتا ہے جو پیغامات کے آنے کا انتظار کرتا ہے جس پر کارروائی کی ضرورت ہوتی ہے۔ پیغام موصول ہونے کے بعد، فنکشن مقامی تناظر میں اس پر کارروائی کرتا ہے اور نتیجہ واپس کرتا ہے۔ تقسیم شدہ RPC استعمال کرنے کی ایک مثال متوازی طور پر تلاش کے سوالات پر کارروائی کرنا یا سیٹوں کے بڑے سیٹ پر آپریشن کرنا ہے۔

طوفان کی خصوصیات:

  • ایک سادہ پروگرامنگ ماڈل جو ریئل ٹائم ڈیٹا پروسیسنگ کو بہت آسان بناتا ہے۔
  • کسی بھی پروگرامنگ زبانوں کے لیے سپورٹ۔ جاوا، روبی اور ازگر کے لیے ماڈیولز موجود ہیں، ایک بہت ہی آسان کمیونیکیشن پروٹوکول کی وجہ سے دوسری زبانوں کے لیے موافقت مشکل نہیں ہے، جس کو سپورٹ کرنے کے لیے کوڈ کی تقریباً 100 لائنوں کی ضرورت ہوتی ہے۔
  • فالٹ ٹولرنس: ڈیٹا پروسیسنگ کا کام چلانے کے لیے، آپ کو کوڈ کے ساتھ جار فائل بنانے کی ضرورت ہے۔ طوفان آزادانہ طور پر اس جار فائل کو کلسٹر نوڈس میں تقسیم کرے گا، اس سے وابستہ ہینڈلرز کو جوڑ دے گا، اور نگرانی کا انتظام کرے گا۔ جب کام مکمل ہو جائے گا، کوڈ خود بخود تمام نوڈس پر غیر فعال ہو جائے گا۔
  • افقی اسکیل ایبلٹی۔ تمام حسابات متوازی موڈ میں کئے جاتے ہیں؛ جیسے جیسے بوجھ بڑھتا ہے، بس نئے نوڈس کو کلسٹر سے جوڑنا کافی ہوتا ہے۔
  • اعتبار. طوفان اس بات کو یقینی بناتا ہے کہ ہر آنے والے پیغام کو کم از کم ایک بار مکمل طور پر پروسیس کیا جائے۔ پیغام پر صرف ایک بار کارروائی کی جائے گی اگر تمام ہینڈلرز سے گزرتے وقت کوئی خرابی نہ ہو؛ اگر مسائل پیدا ہوتے ہیں، تو کارروائی کرنے کی ناکام کوششیں دہرائی جائیں گی۔
  • رفتار. طوفان کا کوڈ اعلی کارکردگی کو ذہن میں رکھتے ہوئے لکھا گیا ہے اور تیز غیر مطابقت پذیر پیغام رسانی کے لیے سسٹم کا استعمال کرتا ہے۔ زیرو ایم کیو۔.

ماخذ: opennet.ru

نیا تبصرہ شامل کریں