نئی نسل کا بلنگ آرکیٹیکچر: ٹران ٹول میں تبدیلی کے ساتھ تبدیلی

MegaFon جیسی کارپوریشن کو بلنگ میں Tarantool کی ضرورت کیوں ہے؟ باہر سے ایسا لگتا ہے کہ دکاندار عام طور پر آتا ہے، کسی قسم کا بڑا باکس لاتا ہے، پلگ کو ساکٹ میں لگاتا ہے - اور یہ بلنگ ہے! کبھی ایسا ہوتا تھا لیکن اب یہ قدیم ہے اور ایسے ڈائنوسار پہلے ہی ناپید ہو چکے ہیں یا معدوم ہو رہے ہیں۔ ابتدائی طور پر، بلنگ انوائس جاری کرنے کا ایک نظام ہے - ایک گنتی مشین یا کیلکولیٹر۔ جدید ٹیلی کام میں یہ ہے۔ سبسکرائبر کے ساتھ تعامل کے پورے لائف سائیکل کے لیے آٹومیشن سسٹم معاہدہ کے اختتام سے ختم ہونے تکبشمول ریئل ٹائم بلنگ، ادائیگی کی منظوری اور بہت کچھ۔ ٹیلی کام کمپنیوں میں بلنگ ایک جنگی روبوٹ کی طرح ہے - بڑا، طاقتور اور ہتھیاروں سے لدا ہوا ہے۔

نئی نسل کا بلنگ آرکیٹیکچر: ٹران ٹول میں تبدیلی کے ساتھ تبدیلی

ترنتول کا اس سے کیا تعلق ہے؟ وہ اس کے بارے میں بات کریں گے۔ اولیگ آئیولیو и آندرے کنازیف. اولیگ کمپنی کے چیف آرکیٹیکٹ ہیں۔ میگا فون غیر ملکی کمپنیوں میں کام کرنے کے وسیع تجربے کے ساتھ، اینڈری بزنس سسٹم کے ڈائریکٹر ہیں۔ پر ان کی رپورٹ کے ٹرانسکرپٹ سے ترن ٹول کانفرنس 2018 آپ جانیں گے کہ کارپوریشنوں میں R&D کی ضرورت کیوں ہے، Tarantool کیا ہے، کس طرح عمودی اسکیلنگ اور عالمگیریت کا تعطل کمپنی میں اس ڈیٹا بیس کی ظاہری شکل کے لیے شرط بن گیا، تکنیکی چیلنجوں، تعمیراتی تبدیلی کے بارے میں، اور MegaFon کا technostack Netflix سے کس طرح ملتا جلتا ہے۔ ، گوگل اور ایمیزون۔

پروجیکٹ "یونیفائیڈ بلنگ"

زیر بحث پروجیکٹ کو "یونیفائیڈ بلنگ" کہا جاتا ہے۔ یہیں پر ترنتول نے اپنی بہترین خوبیاں دکھائیں۔

نئی نسل کا بلنگ آرکیٹیکچر: ٹران ٹول میں تبدیلی کے ساتھ تبدیلی

ہائی-اینڈ آلات کی پیداواری صلاحیت میں اضافہ سبسکرائبر بیس کی ترقی اور خدمات کی تعداد میں اضافے کے مطابق نہیں رہا؛ M2M، IoT، اور برانچ کی خصوصیات کی وجہ سے صارفین اور خدمات کی تعداد میں مزید اضافہ متوقع تھا۔ وقت سے مارکیٹ میں بگاڑ۔ کمپنی نے 8 موجودہ مختلف بلنگ سسٹمز کے بجائے ایک منفرد عالمی معیار کے ماڈیولر فن تعمیر کے ساتھ ایک متحد کاروباری نظام بنانے کا فیصلہ کیا۔

میگا فون ایک میں آٹھ کمپنیاں ہیں۔. 2009 میں، تنظیم نو مکمل ہو گئی: پورے روس میں شاخیں ایک واحد کمپنی، MegaFon OJSC (اب PJSC) میں ضم ہو گئیں۔ اس طرح، کمپنی کے پاس 8 بلنگ سسٹم ہیں جن کے اپنے "اپنی مرضی کے مطابق" حل، برانچ کی خصوصیات اور مختلف تنظیمی ڈھانچے، IT اور مارکیٹنگ ہیں۔

سب کچھ اس وقت تک ٹھیک تھا جب تک کہ ہمیں ایک مشترکہ وفاقی پروڈکٹ لانچ نہ کرنا پڑے۔ یہاں بہت سی مشکلات پیدا ہوئیں: کچھ کے لیے، ٹیرف کو گول کر دیا جاتا ہے، دوسروں کے لیے گول کر دیا جاتا ہے، اور دوسروں کے لیے - ریاضی کے اوسط کی بنیاد پر۔ ایسے ہزاروں لمحات ہیں۔

اس حقیقت کے باوجود کہ بلنگ سسٹم کا صرف ایک ورژن تھا، ایک فراہم کنندہ، ترتیبات اس قدر مختلف ہوگئیں کہ اسے ایک ساتھ رکھنے میں کافی وقت لگا۔ ہم نے ان کی تعداد کو کم کرنے کی کوشش کی، اور ایک دوسرے مسئلے کا سامنا کرنا پڑا جو بہت سی کارپوریشنوں کو معلوم ہے۔

عمودی پیمانہ. اس وقت کا بہترین ہارڈ ویئر بھی ضروریات کو پورا نہیں کرتا تھا۔ ہم نے سپرڈوم ہائی-اینڈ لائن سے ہیولٹ پیکارڈ کا سامان استعمال کیا، لیکن یہ دو شاخوں کی ضروریات کو بھی پورا نہیں کرتا تھا۔ میں بڑے آپریٹنگ اخراجات اور سرمائے کی سرمایہ کاری کے بغیر افقی اسکیلنگ چاہتا تھا۔

صارفین اور خدمات کی تعداد میں اضافے کی توقع. کنسلٹنٹس طویل عرصے سے ٹیلی کام کی دنیا میں IoT اور M2M کے بارے میں کہانیاں لائے ہیں: وہ وقت آئے گا جب ہر فون اور آئرن کے پاس ایک سم کارڈ ہوگا، اور دو فرج میں ہوں گے۔ آج ہمارے پاس سبسکرائبرز کی تعداد اتنی ہی ہے، لیکن مستقبل قریب میں اور بھی بہت ہوں گے۔

تکنیکی چیلنجز

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

سکالٹیبل

اگر یہ پہلے تھا، چلو کہتے ہیں، چلو 8 ملین سبسکرائبرز کے لیے 15 بلنگ، اور اب اسے کام کرنا چاہئے تھا۔ 100 ملین سبسکرائبرز اور مزید - بوجھ زیادہ شدت کا آرڈر ہے۔

ہم بڑے پیمانے پر انٹرنیٹ پلیئرز جیسے Mail.ru یا Netflix کے مقابلے کے قابل ہو گئے ہیں۔

لیکن لوڈ اور صارفین کی تعداد میں اضافے کی مزید تحریک نے ہمارے لیے سنگین چیلنجز کھڑے کر دیے ہیں۔

ہمارے وسیع ملک کا جغرافیہ

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

ہم صرف سبسکرپشن فیس کے لیے خدمات فراہم نہیں کرتے ہیں، ہمارے پاس پیچیدہ ٹیرف، پیکجز، اور مختلف ترمیم کار ہیں۔ ہمیں سبسکرائبر کو نہ صرف بات کرنے کی اجازت دینے یا انکار کرنے کی ضرورت ہے، بلکہ اسے ایک مخصوص کوٹہ دینے کی ضرورت ہے - اصل وقت میں کالز اور ایکشن کا حساب لگائیں تاکہ وہ نوٹس نہ کرے۔

غلطی کی رواداری

یہ مرکزیت کا دوسرا رخ ہے۔

اگر ہم تمام سبسکرائبرز کو ایک سسٹم میں جمع کرتے ہیں، تو کوئی بھی ہنگامی صورتحال اور آفات کاروبار کے لیے تباہ کن ہیں۔ لہذا، ہم سسٹم کو اس طرح ڈیزائن کرتے ہیں کہ تمام صارفین کی بنیاد پر حادثات کے اثرات کو ختم کیا جا سکے۔

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

ہمیں ایسے دلچسپ چیلنجز کا سامنا کرنا پڑا۔ ہم نے سسٹم کو ڈیزائن کیا، اور اس وقت ہم نے عالمی سطح پر بہترین طریقوں کو تلاش کرنے کی کوشش کی تاکہ یہ معلوم کیا جا سکے کہ ہم کتنے رجحان میں ہیں، ہم جدید ٹیکنالوجیز کی کتنی پیروی کرتے ہیں۔

عالمی تجربہ

حیرت کی بات ہے کہ ہمیں عالمی ٹیلی کام میں ایک بھی حوالہ نہیں ملا۔

یوروپ سبسکرائبرز کی تعداد اور پیمانے کے لحاظ سے پیچھے رہ گیا ہے، USA - اس کے ٹیرف کی فلیٹنس کے لحاظ سے۔ ہم نے کچھ کو چین میں دیکھا، اور کچھ کو ہندوستان میں پایا اور ووڈافون انڈیا سے ماہرین کی خدمات حاصل کیں۔

فن تعمیر کا تجزیہ کرنے کے لیے، ہم نے IBM کی قیادت میں ایک ڈریم ٹیم کو جمع کیا - مختلف شعبوں کے معمار۔ یہ لوگ مناسب طریقے سے اندازہ لگا سکتے ہیں کہ ہم کیا کر رہے ہیں اور ہمارے فن تعمیر میں کچھ علم لا سکتے ہیں۔

اسکیل

مثال کے لیے چند نمبر۔

ہم نظام کے لیے ڈیزائن کرتے ہیں۔ ایک ارب کے ریزرو کے ساتھ 80 ملین صارفین. اس طرح ہم مستقبل کی دہلیز کو ہٹاتے ہیں۔ یہ اس لیے نہیں ہے کہ ہم چین پر قبضہ کرنے جا رہے ہیں، بلکہ IoT اور M2M کے حملے کی وجہ سے ہے۔

اصل وقت میں 300 ملین دستاویزات پر کارروائی کی گئی۔. اگرچہ ہمارے پاس 80 ملین سبسکرائبرز ہیں، ہم ممکنہ کلائنٹس اور ان لوگوں کے ساتھ کام کرتے ہیں جنہوں نے ہمیں چھوڑ دیا ہے اگر ہمیں وصولی جمع کرنے کی ضرورت ہو۔ لہذا، اصل حجم نمایاں طور پر بڑے ہیں.

2 ارب کا لین دین ہوا۔ بیلنس روزانہ بدلتا ہے - یہ ادائیگیاں، چارجز، کالز اور دیگر واقعات ہیں۔ 200 TB ڈیٹا فعال طور پر تبدیل ہو رہا ہے۔، تھوڑا آہستہ تبدیل کریں۔ ڈیٹا کا 8 پی بی، اور یہ ایک آرکائیو نہیں ہے، بلکہ ایک ہی بلنگ میں لائیو ڈیٹا ہے۔ ڈیٹا سینٹر کی طرف سے پیمانہ - 5 سائٹس پر 14 ہزار سرورز.

ٹیکنالوجی اسٹیک

جب ہم نے فن تعمیر کی منصوبہ بندی کی اور نظام کو جمع کرنا شروع کیا تو ہم نے انتہائی دلچسپ اور جدید ٹیکنالوجیز درآمد کیں۔ نتیجہ کسی بھی انٹرنیٹ پلیئر اور کارپوریشنز سے واقف ایک ٹیکنالوجی اسٹیک ہے جو ہائی لوڈ سسٹم بناتے ہیں۔

نئی نسل کا بلنگ آرکیٹیکچر: ٹران ٹول میں تبدیلی کے ساتھ تبدیلی

اسٹیک دوسرے بڑے پلیئرز کے اسٹیک سے ملتا جلتا ہے: نیٹ فلکس، ٹویٹر، وائبر۔ یہ 6 اجزاء پر مشتمل ہے، لیکن ہم اسے مختصر اور یکجا کرنا چاہتے ہیں۔

لچک اچھی ہے، لیکن ایک بڑی کارپوریشن میں اتحاد کے بغیر کوئی راستہ نہیں ہے۔

ہم اسی اوریکل کو ٹرانٹول میں تبدیل نہیں کرنے جا رہے ہیں۔ بڑی کمپنیوں کی حقیقتوں میں، یہ ایک یوٹوپیا ہے، یا 5-10 سالوں کے لیے ایک صلیبی جنگ ہے جس کے غیر واضح نتائج ہیں۔ لیکن Cassandra اور Couchbase کو آسانی سے Tarantool سے تبدیل کیا جا سکتا ہے، اور اسی کے لیے ہم کوشش کر رہے ہیں۔

ترن ٹول کیوں؟

4 آسان معیارات ہیں کہ ہم نے اس ڈیٹا بیس کا انتخاب کیوں کیا۔

رفتار. ہم نے MegaFon صنعتی نظاموں پر لوڈ ٹیسٹ کئے۔ ترنتول جیت گیا - اس نے بہترین کارکردگی دکھائی۔

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

ترنٹول طویل مدتی میں بھی کمپنی کی ضروریات کو پورا کرتا ہے۔

TCO لاگت. MegaFon والیومز پر Couchbase کے لیے سپورٹ کے لیے فلکیاتی رقم خرچ ہوتی ہے، لیکن Tarantool کے ساتھ صورت حال بہت زیادہ خوشگوار ہے، اور وہ فعالیت میں یکساں ہیں۔

ایک اور اچھی خصوصیت جس نے ہماری پسند کو قدرے متاثر کیا وہ یہ ہے کہ Tarantool دیگر ڈیٹا بیس کے مقابلے میموری کے ساتھ بہتر کام کرتا ہے۔ وہ دکھاتا ہے زیادہ سے زیادہ کارکردگی.

وشوسنییتا. MegaFon قابل اعتماد میں سرمایہ کاری کرتا ہے، شاید کسی اور سے زیادہ۔ لہٰذا جب ہم نے ترن ٹول کو دیکھا تو ہمیں احساس ہوا کہ ہمیں اسے اپنی ضروریات کے مطابق بنانا ہے۔

ہم نے اپنا وقت اور مالی سرمایہ کاری کی، اور Mail.ru کے ساتھ مل کر ہم نے ایک انٹرپرائز ورژن بنایا، جو اب کئی دوسری کمپنیوں میں استعمال ہوتا ہے۔

Tarantool-enterprise نے سیکورٹی، وشوسنییتا اور لاگنگ کے حوالے سے ہمیں مکمل طور پر مطمئن کیا۔

شراکت داری

میرے لیے سب سے اہم چیز ہے۔ ڈویلپر کے ساتھ براہ راست رابطہ. یہ بالکل وہی ہے جو ترن ٹول کے لڑکوں نے رشوت دی تھی۔

اگر آپ کسی کھلاڑی کے پاس آتے ہیں، خاص طور پر وہ جو ایک اینکر کلائنٹ کے ساتھ کام کرتا ہے، اور کہتا ہے کہ آپ کو یہ، یہ اور یہ کرنے کے لیے ڈیٹا بیس کی ضرورت ہے، تو وہ عام طور پر جواب دیتا ہے:

- ٹھیک ہے، ضروریات کو اس ڈھیر کے نیچے رکھو - کسی دن، ہم شاید ان تک پہنچ جائیں گے۔

بہت سے لوگوں کے پاس اگلے 2-3 سالوں کا روڈ میپ ہے، اور وہاں انضمام کرنا تقریباً ناممکن ہے، لیکن Tarantool ڈویلپرز اپنی کھلے پن سے، نہ صرف MegaFon سے، اور اپنے سسٹم کو کسٹمر کے مطابق ڈھال لیتے ہیں۔ یہ ٹھنڈا ہے اور ہمیں واقعی یہ پسند ہے۔

جہاں ہم نے ترن ٹول استعمال کیا۔

ہم کئی عناصر میں Tarantool استعمال کرتے ہیں۔ پہلا پائلٹ میں ہے۔، جسے ہم نے ایڈریس ڈائرکٹری سسٹم پر بنایا ہے۔ ایک وقت میں میں چاہتا تھا کہ یہ ایک ایسا نظام ہو جو Yandex.Maps اور Google Maps سے ملتا جلتا ہو، لیکن یہ تھوڑا مختلف نکلا۔

مثال کے طور پر، سیلز انٹرفیس میں ایڈریس کیٹلاگ۔ اوریکل پر، مطلوبہ پتہ تلاش کرنے میں 12-13 سیکنڈ لگتے ہیں۔ - غیر آرام دہ نمبر۔ جب ہم Tarantool پر سوئچ کرتے ہیں، Oracle کو کنسول میں کسی دوسرے ڈیٹا بیس سے تبدیل کرتے ہیں، اور وہی تلاش کرتے ہیں، تو ہمیں 200x اسپیڈ اپ ملتا ہے! تیسرے خط کے بعد شہر کھلتا ہے۔ اب ہم انٹرفیس کو ڈھال رہے ہیں تاکہ یہ پہلے والے کے بعد ہو۔ تاہم، ردعمل کی رفتار بالکل مختلف ہے - سیکنڈ کے بجائے ملی سیکنڈ۔

دوسری ایپلیکیشن ایک جدید تھیم ہے جسے ٹو اسپیڈ آئی ٹی کہتے ہیں۔. اس کی وجہ یہ ہے کہ ہر کونے سے مشیر کہتے ہیں کہ کارپوریشنوں کو وہاں جانا چاہئے۔

نئی نسل کا بلنگ آرکیٹیکچر: ٹران ٹول میں تبدیلی کے ساتھ تبدیلی

ایک انفراسٹرکچر پرت ہے، اس کے اوپر ڈومینز ہیں، مثال کے طور پر، ایک بلنگ سسٹم جیسے ٹیلی کام، کارپوریٹ سسٹم، کارپوریٹ رپورٹنگ۔ یہ وہ مرکز ہے جسے چھونے کی ضرورت نہیں ہے۔ یہ یقیناً ممکن ہے، لیکن بے وقوفانہ طور پر معیار کو یقینی بنانا، کیونکہ اس سے کارپوریشن کو پیسہ ملتا ہے۔

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

مائیکرو سروسز شاید میگا فون میں ٹرانٹول کا مرکزی کردار ہیں۔

جہاں ہم Tarantool استعمال کرنے کا ارادہ رکھتے ہیں۔

اگر ہم اپنے کامیاب بلنگ پروجیکٹ کا موازنہ Deutsche Telekom, Svyazcom, Vodafone India کے ٹرانسفارمیشن پروگراموں سے کریں تو یہ حیرت انگیز طور پر متحرک اور تخلیقی ہے۔ اس پروجیکٹ کو لاگو کرنے کے عمل میں، نہ صرف MegaFon اور اس کے ڈھانچے کو تبدیل کیا گیا، بلکہ Tarantool-enterprise بھی Mail.ru پر نمودار ہوا، اور ہمارا وینڈر Nexign (سابقہ ​​پیٹر-Service) - BSS Box (ایک باکسڈ بلنگ حل)۔

یہ ایک لحاظ سے روسی مارکیٹ کے لیے ایک تاریخی منصوبہ ہے۔ اس کا موازنہ اس سے کیا جا سکتا ہے جو فریڈرک بروکس کی کتاب "The Mythical Man-month" میں بیان کیا گیا ہے۔ پھر، 60 کی دہائی میں، IBM نے مین فریمز کے لیے نیا OS/360 آپریٹنگ سسٹم تیار کرنے کے لیے 5 لوگوں کی خدمات حاصل کیں۔ ہمارے پاس کم ہے - 000، لیکن ہماری واسکٹ میں ہیں، اور اوپن سورس کے استعمال اور نئے طریقوں کو مدنظر رکھتے ہوئے، ہم زیادہ نتیجہ خیز کام کرتے ہیں۔

ذیل میں بلنگ کے ڈومینز یا، زیادہ موٹے طور پر، کاروباری نظام ہیں۔ انٹرپرائز کے لوگ CRM کو اچھی طرح جانتے ہیں۔ ہر ایک کے پاس پہلے سے ہی دوسرے سسٹم ہونے چاہئیں: اوپن API، API گیٹ وے۔

نئی نسل کا بلنگ آرکیٹیکچر: ٹران ٹول میں تبدیلی کے ساتھ تبدیلی

کھولیں API

آئیے دوبارہ نمبروں کو دیکھتے ہیں اور اوپن API فی الحال کیسے کام کرتا ہے۔ اس کا بوجھ ہے۔ فی سیکنڈ 10 ٹرانزیکشنز. چونکہ ہم مائیکرو سروسز پرت کو فعال طور پر تیار کرنے اور MegaFon پبلک API بنانے کا ارادہ رکھتے ہیں، اس لیے ہم مستقبل میں اس حصے میں مزید ترقی کی توقع کرتے ہیں۔ یقینی طور پر 100 ٹرانزیکشنز ہوں گے۔.

مجھے نہیں معلوم کہ کیا ہم SSO میں Mail.ru سے موازنہ کر سکتے ہیں - لگتا ہے کہ لڑکوں کے پاس فی سیکنڈ 1 ٹرانزیکشنز ہیں۔ ان کا حل ہمارے لیے انتہائی دلچسپ ہے اور ہم ان کے تجربے کو اپنانے کا ارادہ رکھتے ہیں - مثال کے طور پر، Tarantool کا استعمال کرتے ہوئے ایک فنکشنل SSO بیک اپ بنانا۔ اب Mail.ru کے ڈویلپر ہمارے لیے یہ کر رہے ہیں۔

CRM

CRM وہی 80 ملین سبسکرائبرز ہیں جنہیں ہم ایک ارب تک بڑھانا چاہتے ہیں، کیونکہ پہلے ہی 300 ملین دستاویزات موجود ہیں جن میں تین سال کی تاریخ شامل ہے۔ ہم واقعی نئی خدمات کے منتظر ہیں اور یہاں ترقی کا نقطہ منسلک خدمات ہے. یہ ایک گیند ہے جو بڑھے گی، کیونکہ وہاں زیادہ سے زیادہ خدمات ہوں گی۔ اس کے مطابق، ہمیں ایک کہانی کی ضرورت ہوگی؛ ہم اس پر ٹھوکر نہیں کھانا چاہتے۔

انوائس جاری کرنے کے معاملے میں خود بلنگ کرنا، قابل وصول کسٹمر اکاؤنٹس کے ساتھ کام کرنا ایک علیحدہ ڈومین میں تبدیل ہو گیا۔. کارکردگی کو بہتر بنانے کے لیے، لاگو ڈومین آرکیٹیکچر آرکیٹیکچرل پیٹرن.

نظام کو ڈومینز میں تقسیم کیا جاتا ہے، بوجھ تقسیم کیا جاتا ہے اور غلطی کی برداشت کو یقینی بنایا جاتا ہے۔ مزید برآں، ہم نے تقسیم شدہ فن تعمیر کے ساتھ کام کیا۔

باقی سب کچھ انٹرپرائز سطح کے حل ہیں۔ کال اسٹوریج میں - 2 بلین یومیہ، 60 بلین فی مہینہ۔ بعض اوقات آپ کو انہیں ایک مہینے میں گننا پڑتا ہے، اور یہ جلد بہتر ہوتا ہے۔ مالی نگرانی - یہ بالکل وہی 300 ملین ہے جو مسلسل بڑھ رہے ہیں اور بڑھ رہے ہیں: صارفین اکثر آپریٹرز کے درمیان چلتے ہیں، اس حصے کو بڑھاتے ہیں۔

موبائل مواصلات کا سب سے زیادہ ٹیلی کام جزو ہے۔ آن لائن بلنگ. یہ وہ سسٹم ہیں جو آپ کو کال کرنے یا نہ کال کرنے، حقیقی وقت میں فیصلے کرنے کی اجازت دیتے ہیں۔ یہاں بوجھ 30 لین دین فی سیکنڈ ہے، لیکن ڈیٹا کی منتقلی میں اضافے کو مدنظر رکھتے ہوئے، ہم منصوبہ بناتے ہیں 250 ٹرانزیکشنز، اور اس وجہ سے ہم ترن ٹول میں بہت دلچسپی رکھتے ہیں۔

پچھلی تصویر وہ ڈومینز ہے جہاں ہم Tarantool استعمال کرنے جا رہے ہیں۔ CRM خود، یقیناً، وسیع تر ہے اور ہم اسے بنیادی طور پر استعمال کرنے جا رہے ہیں۔

ہمارے 100 ملین سبسکرائبرز کا تخمینہ TTX اعداد و شمار مجھے ایک معمار کے طور پر الجھا دیتا ہے - اگر 101 ملین؟ کیا آپ کو سب کچھ دوبارہ کرنا ہوگا؟ ایسا ہونے سے روکنے کے لیے، ہم کیشز کا استعمال کرتے ہیں، اسی وقت رسائی میں اضافہ کرتے ہیں۔

نئی نسل کا بلنگ آرکیٹیکچر: ٹران ٹول میں تبدیلی کے ساتھ تبدیلی

عام طور پر، Tarantool استعمال کرنے کے دو طریقے ہیں۔ پہلا - مائیکرو سروس کی سطح پر تمام کیشز بنائیں. جہاں تک میں سمجھتا ہوں، VimpelCom اس راستے پر چل رہا ہے، کلائنٹس کا ایک ذخیرہ بنا رہا ہے۔

ہم وینڈرز پر کم انحصار کرتے ہیں، ہم BSS کور کو تبدیل کر رہے ہیں، اس لیے ہمارے پاس ایک کلائنٹ فائل باکس سے باہر ہے۔ لیکن ہم اسے بڑھانا چاہتے ہیں۔ لہذا، ہم تھوڑا مختلف نقطہ نظر اپناتے ہیں - سسٹم کے اندر کیش بنائیں.

اس طرح کم ہم آہنگی ہوتی ہے - ایک سسٹم کیشے اور مین ماسٹر سورس دونوں کے لیے ذمہ دار ہوتا ہے۔

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

آر ٹی او اور آر پی او

آئی ٹی میں دو اصطلاحات ہیں - RTO и آر پی او.

بحالی کے وقت کا مقصد ناکامی کے بعد سروس کو بحال کرنے میں جو وقت لگتا ہے۔ RTO = 0 کا مطلب ہے کہ اگر کچھ ناکام ہو جائے تو بھی سروس کام کرتی رہتی ہے۔

ریکوری پوائنٹ کا مقصد - یہ ڈیٹا کی وصولی کا وقت ہے، ہم ایک مخصوص مدت میں کتنا ڈیٹا کھو سکتے ہیں۔ RPO = 0 کا مطلب ہے کہ ہم ڈیٹا کھو نہیں رہے ہیں۔

ترانتول کا کام

آئیے ٹرانٹول کے لیے ایک مسئلہ حل کرنے کی کوشش کرتے ہیں۔

دیا: ایپلی کیشنز کی ایک ٹوکری جسے ہر کوئی سمجھتا ہے، مثال کے طور پر، Amazon میں یا کہیں اور۔ ضرورت ہے تاکہ شاپنگ کارٹ ہفتے کے 24 دن 7 گھنٹے یا 99,99% وقت کام کرے۔ ہمارے پاس آنے والے آرڈرز کو ترتیب میں رہنا چاہیے، کیونکہ ہم سبسکرائبر کے کنکشن کو تصادفی طور پر آن یا آف نہیں کر سکتے ہیں - ہر چیز کو سختی سے ہم آہنگ ہونا چاہیے۔ پچھلی سبسکرپشن اگلے کو متاثر کرتی ہے، اس لیے ڈیٹا اہم ہے - کچھ بھی غائب نہیں ہونا چاہیے۔

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

اچھا پرانا آرکیٹیکچرل اپروچ یہاں کام کرتا ہے - آپ کو موضوع کے علاقے کو اچھی طرح جاننا ہوگا اور اس پہیلی کو حل کرنے کے لیے اسے استعمال کرنا ہوگا۔

نئی نسل کا بلنگ آرکیٹیکچر: ٹران ٹول میں تبدیلی کے ساتھ تبدیلی

ہمارا حل: Tarantool پر درخواستوں کی تقسیم شدہ رجسٹری بنانا - ایک جیو ڈسٹری بیوٹڈ کلسٹر. خاکہ میں، یہ تین مختلف ڈیٹا پروسیسنگ مراکز ہیں - دو یورال سے پہلے، ایک یورال سے آگے، اور ہم تمام درخواستیں ان مراکز میں تقسیم کرتے ہیں۔

Netflix، جو اب آئی ٹی کے رہنماؤں میں سے ایک سمجھا جاتا ہے، 2012 تک صرف ایک ڈیٹا سینٹر تھا. کیتھولک کرسمس کے موقع پر، 24 دسمبر، یہ ڈیٹا سینٹر نیچے چلا گیا۔ کینیڈا اور امریکہ میں صارفین کو ان کی پسندیدہ فلموں کے بغیر چھوڑ دیا گیا تھا، بہت پریشان تھے اور سوشل نیٹ ورک پر اس کے بارے میں لکھا. Netflix کے پاس اب مغربی مشرقی ساحل پر تین ڈیٹا سینٹرز ہیں اور ایک مغربی یورپ میں۔

ہم ابتدائی طور پر ایک جغرافیائی تقسیم شدہ حل بنا رہے ہیں - ہمارے لیے غلطی کی رواداری اہم ہے۔

تو ہمارے پاس ایک کلسٹر ہے، لیکن RPO = 0 اور RTO = 0 کا کیا ہوگا؟ موضوع کے لحاظ سے حل آسان ہے۔

درخواستوں میں کیا اہم ہے؟ دو حصے: ٹوکری پھینکنا TO خریداری کا فیصلہ کرنا، اور کے بعد. ٹیلی کام میں DO حصہ کو عام طور پر کہا جاتا ہے۔ آرڈر کی گرفتاری یا آرڈر گفت و شنید. ٹیلی کام میں، یہ آن لائن اسٹور کے مقابلے میں بہت زیادہ مشکل ہوسکتا ہے، کیونکہ وہاں کلائنٹ کو پیش کیا جانا چاہیے، 5 اختیارات پیش کیے جائیں، اور یہ سب کچھ وقت کے لیے ہوتا ہے، لیکن ٹوکری بھر جاتی ہے۔ اس وقت، ایک ناکامی ممکن ہے، لیکن یہ خوفناک نہیں ہے، کیونکہ یہ انسانی نگرانی کے تحت باہمی طور پر ہوتا ہے.

اگر ماسکو ڈیٹا سینٹر اچانک ناکام ہو جاتا ہے، تو خود بخود دوسرے ڈیٹا سینٹر میں تبدیل ہو کر، ہم کام جاری رکھیں گے۔ نظریاتی طور پر، ایک پروڈکٹ کارٹ میں گم ہو سکتی ہے، لیکن آپ اسے دیکھتے ہیں، دوبارہ کارٹ میں شامل کریں اور کام جاری رکھیں۔ اس صورت میں RTO = 0۔

اسی لمحے، دوسرا آپشن ہے: جب ہم "جمع کروائیں" پر کلک کرتے ہیں، تو ہم چاہتے ہیں کہ ڈیٹا ضائع نہ ہو۔ اس لمحے سے، آٹومیشن کام کرنا شروع کر دیتی ہے - یہ ہے RPO = 0۔ ان دو مختلف نمونوں کا استعمال کرتے ہوئے، ایک صورت میں یہ صرف ایک سوئچ ایبل ماسٹر کے ساتھ جیو ڈسٹری بیوٹڈ کلسٹر ہو سکتا ہے، دوسری صورت میں کسی قسم کا کورم ریکارڈ۔ پیٹرن مختلف ہو سکتے ہیں، لیکن ہم مسئلہ حل کرتے ہیں۔

مزید، درخواستوں کی تقسیم شدہ رجسٹری کے ساتھ، ہم ان سب کو بھی پیمانہ بنا سکتے ہیں - بہت سے بھیجنے والے اور عمل کرنے والے ہیں جو اس رجسٹری تک رسائی حاصل کرتے ہیں۔

نئی نسل کا بلنگ آرکیٹیکچر: ٹران ٹول میں تبدیلی کے ساتھ تبدیلی

کیسینڈرا اور ٹرانٹول ایک ساتھ

ایک اور معاملہ ہے - "بیلنس کی نمائش". یہاں Cassandra اور Tarantool کے مشترکہ استعمال کا ایک دلچسپ معاملہ ہے۔

ہم کیسینڈرا کا استعمال کرتے ہیں کیونکہ روزانہ 2 بلین کالز کی حد نہیں ہے، اور اور بھی ہوں گی۔ مارکیٹرز ذرائع کے لحاظ سے ٹریفک کو رنگین کرنا پسند کرتے ہیں؛ مثال کے طور پر سوشل نیٹ ورکس پر زیادہ سے زیادہ تفصیلات ظاہر ہو رہی ہیں۔ یہ سب کہانی میں اضافہ کرتا ہے۔

کیسینڈرا آپ کو افقی طور پر کسی بھی سائز تک پیمانہ کرنے کی اجازت دیتا ہے۔

ہم کیسینڈرا کے ساتھ آرام دہ محسوس کرتے ہیں، لیکن اس میں ایک مسئلہ ہے - یہ پڑھنے میں اچھی نہیں ہے۔ ریکارڈنگ پر سب کچھ ٹھیک ہے، 30 فی سیکنڈ کوئی مسئلہ نہیں ہے۔ پڑھنے کا مسئلہ.

لہذا، ایک کیش کے ساتھ ایک موضوع ظاہر ہوا، اور اسی وقت ہم نے مندرجہ ذیل مسئلہ کو حل کیا: ایک پرانا روایتی معاملہ ہے جب آن لائن بلنگ کے سوئچ سے سامان فائلوں میں آتا ہے جسے ہم کیسینڈرا میں لوڈ کرتے ہیں. ہم نے IBM مینیجر فائل ٹرانسفر کے مشورے کا استعمال کرتے ہوئے، ان فائلوں کی قابل اعتماد ڈاؤن لوڈنگ کے مسئلے سے جدوجہد کی - ایسے حل موجود ہیں جو فائل ٹرانسفر کو موثر طریقے سے منظم کرتے ہیں، مثال کے طور پر، TCP کے بجائے UDP پروٹوکول کا استعمال کرتے ہوئے۔ یہ اچھی بات ہے، لیکن ابھی منٹ ہیں، اور ہم نے ابھی تک یہ سب لوڈ نہیں کیا ہے، کال سینٹر میں آپریٹر کلائنٹ کو جواب نہیں دے سکتا کہ اس کے بیلنس کا کیا ہوا - ہمیں انتظار کرنا ہوگا۔

ایسا ہونے سے روکنے کے لیے، ہم ہم متوازی فنکشنل ریزرو کا استعمال کرتے ہیں۔. جب ہم کافکا کے ذریعے ٹرانٹول کو کوئی واقعہ بھیجتے ہیں، اصل وقت میں مجموعوں کی دوبارہ گنتی کرتے ہوئے، مثال کے طور پر، آج کے لیے، ہمیں ملتا ہے نقد بیلنس، جو کسی بھی رفتار سے بیلنس منتقل کر سکتا ہے، مثال کے طور پر، 100 ہزار ٹرانزیکشنز فی سیکنڈ اور وہی 2 سیکنڈ۔

مقصد یہ ہے کہ کال کرنے کے بعد، آپ کے ذاتی اکاؤنٹ میں 2 سیکنڈ کے اندر نہ صرف بدلا ہوا بیلنس ہوگا، بلکہ اس میں تبدیلی کی وجہ سے متعلق معلومات بھی موجود ہوں گی۔

حاصل يہ ہوا

یہ ٹرانٹول کے استعمال کی مثالیں تھیں۔ ہمیں Mail.ru کی کشادگی اور مختلف معاملات پر غور کرنے کی ان کی رضامندی بہت پسند آئی۔

BCG یا McKinsey، Accenture یا IBM کے کنسلٹنٹس کے لیے پہلے سے ہی مشکل ہے کہ وہ ہمیں کسی نئی چیز سے حیران کر دیں - جو کچھ وہ پیش کرتے ہیں، ہم یا تو پہلے ہی کر چکے ہیں، کر چکے ہیں، یا کرنے کی منصوبہ بندی کر رہے ہیں۔ میں سمجھتا ہوں کہ Tarantool ہماری ٹیکنالوجی کے اسٹیک میں اپنی صحیح جگہ لے لے گا اور بہت سی موجودہ ٹیکنالوجیز کی جگہ لے لے گا۔ ہم اس منصوبے کی ترقی کے فعال مرحلے میں ہیں۔

اولیگ اور اینڈری کی رپورٹ گزشتہ سال ترن ٹول کانفرنس میں بہترین رپورٹوں میں سے ایک ہے، اور 17 جون کو اولیگ آئیولیو اس پر خطاب کریں گے۔ T+ کانفرنس 2019 ایک رپورٹ کے ساتھ "انٹرپرائز میں ٹرانٹول کیوں". الیگزینڈر ڈیولن میگا فون کی طرف سے ایک پریزنٹیشن بھی دیں گے۔ "Tarantool Caches اور اوریکل سے نقل". آئیے جانتے ہیں کہ کیا تبدیلی آئی ہے، کن منصوبوں پر عمل کیا گیا ہے۔ شامل ہوں - کانفرنس مفت ہے، آپ کو بس اتنا کرنا ہے۔ کریں. سب رپورٹس کو قبول کیا اور کانفرنس کا پروگرام تشکیل دیا گیا ہے: نئے کیسز، ٹرانٹول استعمال کرنے کا نیا تجربہ، فن تعمیر، انٹرپرائز، ٹیوٹوریلز اور مائیکرو سروسز۔

ماخذ: www.habr.com

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