Snapchat Tweens ۽ نوجوانن جي وچ ۾ مشهور آهي. توهان شايد 25 کان مٿي آهيو جيڪڏهن توهان اهو نه سمجهي سگهو ته اهو ڪيئن ڪم ڪري ٿو. سنيپ چيٽ، سوشل ميڊيا جي مقبول ترين ايپليڪيشنن مان هڪ آهي، ٻارن ۽ نوجوانن کي اهو ئي مهيا ڪري ٿي جيڪو هو چاهين ٿا: عام واقعن کي شيئر ڪرڻ جو هڪ آسان طريقو جڏهن ته انهن کي ٿڌو ظاهر ڪرڻ پڻ.
Facebook ۽ Twitter جي برعڪس، جيڪو توهان جي هر شي کي رڪارڊ ۽ شايع ڪري ٿو، سنيپ چيٽ انهن پيغامن کي ملازمت ڏئي ٿو جيڪي غائب ٿيڻ گهرجن (ڏسو ته اهي ڪيئن نه آهن).
Snapchat بابت گهڻو ڪجهه آهي، ۽ جيڪڏهن توهان هڪ ڊولپر آهيو ته اهو اڃا به وڌيڪ آهي. تنهن ڪري، هي پوسٽ توهان کي Snapchat جي اعلي سطحي ڏيک ڏيندو سسٽم ڊيزائن ۽ وڌيڪ بصيرت.
تعارف
Snapchat هڪ آمريڪي بنياد تي آهي سماجي نيٽورڪنگ ايپ جيڪا صارفين کي فوري طور تي ڳنڍڻ، تصويرون شيئر ڪرڻ، ۽ وڌيڪ ڪرڻ جي اجازت ڏئي ٿي.
- نياپا ۽ تصويرون (يا تصويرن) وٽ 24 ڪلاڪ وقت جي حد آهي. ماڻهن کي حوصلا افزائي ڪري ٿو انهن جون ڪهاڻيون گروپن ۾ شيئر ڪن.
- سنيپ نقشو صارفين کي نقشي تي ڏسڻ جي اجازت ڏئي ٿو جتي سندن دوست آهن.
- ياداشتون صارفين کي انهن تصويرن جي ياد ڏيارينديون آهن جيڪي انهن هڪ سال بعد محفوظ ڪيون يا شيئر ڪيون.
- Snapchat نوجوان نسلن، خاص طور تي نوجوانن سان انتهائي مقبول آهي. ايپ تي 319 ملين فعال استعمال ڪندڙ آهن، ۽ هر روز 5.4 بلين تصويرون موڪليا وڃن ٿا.
اهم ڊيزائن جون شرطون
Monolithic آرڪيٽيڪچر - هڪ واحد ٽائر ٿيل ايپليڪيشن جيڪا ٻين ايپليڪيشنن کان آزاد طور تي هلندي آهي، هڪ مونولٿ (مونوليٿڪ فن تعمير) طور سڃاتو وڃي ٿو. ھڪڙي ھڪڙي ھڪڙي ڪم کي مڪمل ڪرڻ لاء گھربل سڀني سرگرمين کي انجام ڏيڻ ۽ ھٿ ڪرڻ لاء ٺهيل آھي. اپليڪيشن شروع کان آخر تائين سڀني ڪمن کي انجام ڏئي ٿو.
مائڪروسافٽ - اهو monoliths جي سامهون قطبي آهي. مائڪروسافٽ هڪ تعميراتي طريقو آهي جيڪو هڪ ايپليڪيشن کي منظم ڪري ٿو خدمتن جي مجموعي طور. اهي خدمتون ايپليڪيشن جي ڪيترن ئي حصن کي ڪنٽرول ڪرڻ لاءِ استعمال ٿينديون آهن. هڪ گراهڪ آرڊر ڏئي ٿو، هڪ ويٽر ان کي وٺي ٿو ۽ ان کي پهچائي ٿو، ۽ هڪ شيف ان کي تيار ڪري ٿو. هن مثال ۾، هر جزو ٻين کان الڳ ۽ الڳ الڳ ڪم ڪري ٿو. ڪنهن کي به خبر ناهي ته ٻيا ڇا ڪري رهيا آهن، ۽ ڪنهن کي به ساڳي معلومات تائين رسائي ناهي.
JSON: اهو هڪ ٽيڪسٽ-بنياد فارميٽ آهي جيڪو JavaScript شين، لٽريلز، صفن ۽ ڊيٽا کي ڏيکارڻ لاءِ استعمال ڪري سگهجي ٿو. هي متن تي ٻڌل فارميٽ جو مقصد آهي ته پڙهڻ ۽ لکڻ لاءِ سادو هجي، ۽ انهي سان گڏ سافٽ ويئر ذريعي هضم ٿي سگهي. JSON عام طور تي سرور ۽ آن لائن ايپليڪيشنن جي وچ ۾ ڊيٽا ۽ معلومات کي منتقل ڪرڻ لاء استعمال ڪيو ويندو آهي.
آرڪٽريشن: ڪيترن ئي عملن کي خودڪار ڪرڻ واري ٽيڪنڪ کي آرڪيسٽريشن طور سڃاتو وڃي ٿو. انهن نوڪرين ۾ ڪمپيوٽر سسٽم ۽ سافٽ ويئر جي ترتيب، ڪوآرڊينيشن، ۽ انتظاميه شامل آهن.
پراکسي: هڪ پراکسي ڪم ڪري ٿو هڪ ڪلائنٽ جي وچ ۾ هڪ وسيلن جي ڳولا ڪندڙ ۽ سرور جيڪو اهو مهيا ڪري ٿو.
Mesh: هڪ سروس ميش هڪ سافٽ ويئر آرڪيٽيڪچر جو نمونو آهي جيڪو هڪ پرت کي انفراسٽرڪچر جي پرت ۾ شامل ڪري ٿو پراکسي ذريعي خدمتن جي وچ ۾ منظم، مشاهدو، ۽ محفوظ رابطي جي اجازت ڏيڻ لاء.
اعلي سطحي ڊيزائن
Monolithic مسئلا
سنيپچٽ گوگل ايپ انجڻ جي بنياد تي ڪلائوڊ بيسڊ مونولٿ جي طور تي پيدا ٿيو. بهرحال، جيئن پروگرام مقبوليت ۾ وڌيو ۽ وڌيڪ صارفين ۽ ڊيٽا حاصل ڪيو، اسڪيلبلبل هڪ مسئلو بڻجي ويو.
اضافي طور تي، هڪ وڏي ڌماڪي واري ريڊيس سان مونولٿ اندر، سسٽم جي وسيع خرابي وڌيڪ ممڪن هئي. سنيپ چيٽ جي مسئلن مان هڪ جي وضاحت ڪئي وئي ”عام ماڻهن جو سانحو“، جنهن ۾ خاصيتون وسيلن تائين رسائي لاءِ مقابلو ڪن ٿيون؛ خاصيتون ايپ لانچ جي وقت تي لوڊ ٿي رهيون هيون، ڪجهه خاصيتن کي تيز لوڊ ڪرڻ جي اجازت ڏني پر ٻين کي سست لوڊ ڪرڻ جي.
انجنيئرن پڻ ترقي جي نقطي نظر کان انهن جي اجزاء جي واضح نمائش، علحدگي، ۽ ملڪيت جي طلب ڪئي، انهي ڪري ته خدمت لچڪدار ۽ موثر ٿي سگهي ٿي.
تبديلي
جيئن ته سنيپچٽ وڌايو ويو، فرم محسوس ڪيو ته ان کي ننڍڙي، وڌيڪ ڪارائتو ٽڪرن ۾ ان جي واحد انفراسٽرڪچر کي ٽوڙڻ جي ضرورت آهي. گھٽ ۾ گھٽ ويڪرائي مهيا ڪرڻ لاء، تنظيم مائڪرو سروسز تي ٻڌل ڊيزائن کي ترقي ڪرڻ جو فيصلو ڪيو.
انهن مقصدن کي پورو ڪرڻ لاءِ، Snapchat چونڊيو Amazon DynamoDB استعمال ڪندي پنهنجي سافٽ ويئر کي اپڊيٽ ڪرڻ لاءِ، هڪ اسپيبلبل NoSQL ڊيٽابيس سروس. فرم پنهنجي ڪوششن جي نتيجي ۾ 20 سيڪڙو تائين وچين ويڪرائي کي گهٽائڻ جي قابل هئي.
ايپ ڪارپوريشن پاران ڪيترن ئي ننڍن ايپليڪيشنن ۾ ٻيهر لکيو ويو. سنيپ چيٽ ڪيترن ئي ايپليڪيشنن سان شروع ٿيو، جنهن ۾ ڪيمرا، چيٽ، ياداشتون، تصويري ايڊيٽنگ، مواد جو استعمال، ۽ نقشو شامل آهن. جيتوڻيڪ انهن پروگرامن کي هڪ واحد واحد ۾ ضم ڪرڻ صارفين لاءِ آسان هو، اهو سٺو ڪارڪردگي برقرار رکڻ جي لحاظ کان هڪ سخت ٽيڪنيڪل مسئلو پيدا ڪيو.
ٻيهر لکڻ لاءِ، ڪارپوريشن ڪيترائي بنيادي قاعدا قائم ڪيا. اڳي لوڊ نه ڪريو؛ هر خصوصيت کي پنهنجي ايپ هجڻ گهرجي، ۽ اهو جلدي هجڻ گهرجي. سنيپچٽ ڪيترن ئي هنڌن تي ترميمن کي روڪيو ته ٻيهر لکڻ کي چالو ڪيو، ان کي سختي سان هڪ ٽيڪنيڪل ڪم ٺاهيو.
اضافي خاصيتون انضمام
Snapchat جي ڪئميرا ايپ ۾ لينس، فلٽر، bitmojis، ۽ ٻين شين جي وچ ۾ Augmented reality animations شامل ڪرڻ جي صلاحيت آهي. سنيپ چيٽ جي چيٽ ايپ پڻ صارفين کي تصويرون محفوظ ڪرڻ، ڳالهيون محفوظ ڪرڻ، ايموٽڪيون شامل ڪرڻ، ۽ وڌيڪ ڪرڻ جي اجازت ڏئي ٿي.
Snapchat جو نقشو، ٻين شين جي وچ ۾، توهان کي اجازت ڏئي ٿو ته دوستن جي نگراني ڪرڻ جي جيڪڏهن اهي توهان چاهيو ٿا. ياداشتون، فوٽو ايڊٽنگ، ۽ مواد جو استعمال سڀ الڳ Snapchat ايپس آهن انهن جي منفرد صلاحيتن سان.
ياداشتون توهان کي بعد ۾ استعمال لاءِ تصويرون يا وڊيوز محفوظ ڪرڻ يا تبديل ڪرڻ جي اجازت ڏين ٿيون، انهي سان گڏ انهن کي اپلوڊ ڪرڻ يا موڪلڻ جي. استعمال ڪندڙ پڻ استعمال ڪري سگھن ٿا تصويري ايڊيٽنگ کي فلمن کي ڪٽڻ، ٽيڪسٽ شامل ڪرڻ، اسٽڪن شامل ڪرڻ، ۽ وڌيڪ.
Snapchat جي خارجي مواد جي استعمال جو حوالو ڏئي ٿو جيڪو اهو ڏيکاري ٿو صارفين جي حدن جي بنياد تي.
مائڪروسافٽ
پروگرام ان وقت نيٽ ورڪ سوالن کي انجام ڏيڻ لاءِ JSON تي وڏي پئماني تي انحصار ڪيو. بهرحال، JSON کي پارس ڪرڻ وقت ساز ۽ غير موثر هو. سنيپچٽ هڪ مرڪزي نيٽ ورڪ مئنيجمينٽ API استعمال ڪيو JSON جي استعمال کي نقاب ڪرڻ لاءِ هن مسئلي کي حل ڪرڻ لاءِ عمل درآمد جي تفصيل طور.
مائڪرو سروسز ايپليڪيشن اسٽيٽ مينيجمينٽ، سروس ڪميونيڪيشن، ۽ ناڪامي جي انتظام جي چئلينج کي متعارف ڪرايو. سنيپ چيٽ استعمال ڪيو اوپن سورس ٽيڪنالاجيون جهڙوڪ Temporal هڪ مضبوط ۽ قابل اعتماد سسٽم ٺاهڻ لاءِ آرڪيسٽريشن جي مشڪلاتن کي دور ڪرڻ لاءِ.
نتيجي طور، تنظيم هڪ خدمت ميش ڊيزائن جي نموني کي استعمال ڪرڻ جو فيصلو ڪيو. Snapchat استعمال ڪيو Envoy، هڪ ٻيو کليل ذريعو اوزار جيڪو هڪ پراکسي طور ڪم ڪري ٿو، هن نموني کي حاصل ڪرڻ لاء. سفير انفراسٽرڪچر ذريعي سروس ٽرئفڪ جي وهڪري کي منظم ڪيو، ڊولپرز کي امڪاني مشڪلاتن ۾ ڏيکاريندي.
Snapchat هڪ اندروني ايپ ٺاهي وئي جنهن کي سوئچ بورڊ سڏيو ويندو آهي سروس ميش اندر. سوئچ بورڊ سنيپ جي خدمتن لاءِ ڪنٽرول پينل جي طور تي ڪم ڪيو، صارفين کي ٽرئفڪ کي منتقل ڪرڻ، خدمت جي انحصار کي منظم ڪرڻ جي اجازت ڏئي ٿو (اها خاصيت جيڪا هڪ خدمت کي ٻين جي حالت تي منحصر ڪري منظم ڪرڻ جي اجازت ڏئي ٿي)، ۽ علائقن کي ختم ڪرڻ.
خدمتن جي اندر امڪاني ترتيبن جي پيچيدگي کي آسان ڪرڻ لاء، سوئچ بورڊ استعمال ڪيو ويو بجاء سڄي Envoy API کي ظاهر ڪرڻ جي بدران. سنيپ وٽ هڪ عام اندروني ۽ علائقائي نيٽورڪ آهي ان جي مائڪرو سروسز لاءِ سروس ميش جي مهرباني.
ساڳي علائقي اندر خدمتون عوامي انٽرنيٽ استعمال ڪرڻ کان سواءِ هڪ ٻئي سان ڳنڍجي سگهن ٿيون، ۽ ڪو به خارجي نيٽ ورڪ ٽرئفڪ اندروني نيٽ ورڪ حصن سان رابطو نٿو ڪري سگهي.
صرف گيٽ ويز کي اجازت ڏني ويندي ته هو پاڻ کي سيڪيورٽي سببن جي ڪري انٽرنيٽ تي ظاهر ڪن. API گيٽ ويز، مثال طور، شايد آسانيءَ سان اڳيان دروازن جي طور تي ڪم ڪري سگھن ٿا، ڪلائنٽ/صارفين کان درخواستون پروسيس ڪرڻ ۽ انھن کي نيٽ ورڪ سان گڏ روٽ ڪرڻ.
نيٽ ورڪ ۽ API گيٽ وي
Snapchat ڪلائنٽ کان سڀ سوال API گيٽ وي ذريعي ايندا آهن. اهو ساڳيو ايلچي تصوير استعمال ڪري ٿو ۽ اسان جي اندروني مائڪرو سروسز وانگر ساڳيو ڪنٽرول جهاز سان ڳنڍي ٿو. اسان جو ڪنٽرول جهاز اسان کي اجازت ڏئي ٿو ته ڪسٽم اينوائي فلٽرز کي فعال ڪرڻ جي.
Snapchat جي تصديق واري نظام سان گڏوگڏ اسان جي شرح کي محدود ڪرڻ ۽ لوڊشيڊنگ ٽيڪنالاجيون، انهن فلٽرن جي ذريعي سنڀاليل آهن. فلٽر زنجير مڪمل ٿيڻ کان پوءِ ايلچي سروس ميش کي لاڳاپيل مائڪروسروس تائين درخواستن کي روٽ ڪرڻ لاءِ استعمال ڪري ٿو.
ٿڪل
Snapchat جي API گيٽ وي ٻاهرين ٽرئفڪ کي ايپ جي ڪيترن ئي ڪارڪردگي ڏانهن رستو ڏئي ٿو. صارفين جي درخواستن کي ترتيب ڏيڻ واري رياستن کي تبديل ڪرڻ لاء سرور پاران منظم ڪيو ويو آهي، جيڪو پوء ڊيٽا مهيا ڪرڻ ۽ معلومات واپس ايپ جي ڪيترن ئي خدمتن ڏانهن.
مجموعي طور تي، سنيپ چيٽ جي موجوده ڊيزائن کي هڪ آپريٽنگ سسٽم تي هلندڙ ڪيترن ئي پروگرامن سان مقابلو ڪري سگهجي ٿو، جيڪا هن صورت ۾ سنيپ چيٽ ايپ آهي. مون توهان کي سنيپ چيٽ سسٽم ڊيزائن جو هڪ اعليٰ سطحي جائزو مهيا ڪرڻ جي تمام گهڻي ڪوشش ڪئي. مون کي اميد آهي ته توهان ان کي مفيد مليو.
جواب ڇڏي وڃو