Hacker News

اختلاف: د فعالیت په اصلاح کې د قضیې مطالعه

اختلاف: د فعالیت په اصلاح کې د قضیې مطالعه د اختلاف دا هراړخیز تحلیل د هغې د اصلي برخو او پراخو اغیزو تفصيلي ازموینه وړاندې کوي. د تمرکز کلیدي ساحې د بحث مرکزونه: اصلي میکانیزمونه او پ...

1 min read Via newsletter.fullstack.zip

Mewayz Team

Editorial Team

Hacker News

اختلاف: د فعالیت په اصلاح کې د قضیې مطالعه

د ډیسکارډ د فعالیت اصلاح کولو سفر په عصري سافټویر انجینرۍ کې یو له خورا ښوونکي مثالونو څخه دی ، دا په ګوته کوي چې څنګه یو پلیټ فارم کولی شي د سرعت یا اعتبار قرباني کولو پرته له زرګونو څخه تر ملیونونو کاروونکو اندازه کړي. د Discord د انجینرۍ پریکړو په معاینه کولو سره - د ډیټابیس مهاجرت څخه د ریښتیني وخت پیغام رسولو جوړښت ته - سوداګرۍ کولی شي د پلیټ فارمونو رامینځته کولو لپاره ثابت ستراتیژۍ استخراج کړي چې د فشار لاندې فعالیت کوي.

په پیمانه د پاور ډیسکارډ فعالیت کوم اصلي میکانیزمونه؟

د ډیسکارډ زیربنا د عمدي انجینرۍ سوداګرۍ په فلسفه جوړه شوې ده. په اصل کې په Python او MongoDB کې جوړ شوی، پلیټ فارم په چټکۍ سره د خنډونو سره مخ شو ځکه چې د دې کاروونکي اډه چاودنه وشوه. د انجینرۍ ټیم یو مهم ساختماني پریکړه وکړه: د یو واحد سټیک څخه د خدمت پر بنسټ معمارۍ ته حرکت وکړئ، د انفرادي اجزاوو وړ کول په خپلواک ډول اندازه کول.

د ډیسکارډ د فعالیت اصلي برخه د هغې د ریښتیني وخت پیغام رسولو پرت لپاره د ایلیکسیر او ایرلانګ بیم مجازی ماشین کارول دي. د BEAM VM هدف د همغږي، د غلطۍ زغمونکي سیسټمونو لپاره جوړ شوی و - په حقیقت کې هغه څه چې هره ورځ د ملیاردونو پیغامونو اداره کولو پلیټ فارم ته اړتیا لري. په عین وخت کې، د Discord API پرت په پای کې په Rust کې بیا لیکل شوی، د حافظې خوندیتوب او نږدې صفر-اوور سر فعالیت وړاندې کوي چې Python په ساده ډول نشي کولی په پیمانه سره سمون ومومي.

پایله یو سیسټم دی چیرې چې په ملیونونو یوځل ویب ساکټ اړیکې د فرعي 50ms پیغام رسولو وختونو سره ساتل کیږي ، حتی د اعظمي کارونې پرمهال. دا یوه حادثه نه وه - دا د تکراري پروفایل کولو محصول و، د خنډ پیژندنه، او د سیسټم خورا فشار لرونکي اجزاوو په نښه شوي بیا لیکل.

Discord څنګه خپل خورا بدنام ډیټابیس خنډ حل کړ؟

د ډیسکارډ یو له خورا عامه مستند انجینرۍ ننګونو څخه چې کیساندرا پکې شامله وه ، توزیع شوی ډیټابیس چې دا د پیغام تاریخ ذخیره کولو لپاره کارول کیږي. لکه څنګه چې پلیټ فارم وده وکړه ، د لوستلو ځنډ په جدي ډول خراب شو - نه دا چې کیساندرا یو ضعیف انتخاب و ، مګر دا چې د ډیسکارډ کارولو نمونې په بنسټیز ډول بدل شوي. ګرمې برخې، چیرې چې د لوستلو غیر متناسب شمیر په ځانګړو ډیټا نوډونو متمرکز دی، د غیر متوقع سستیدو لامل کیږي.

د انجینرۍ ټیم ځواب سکیلا ډی بی ته د پام وړ مهاجرت و، د C++ کې لیکل شوی د Cassandra سره مطابقت لرونکی ډیټابیس. مهاجرت په ډیری قضیو کې د p99 لوستلو ځنډ له 40-125ms څخه واحد ډیجیټل ملی ثانیو ته راټیټ کړ. تر ټولو مهم، دا د کلستر اداره کولو عملیاتي پیچلتیا کمه کړې، د انجینرۍ سرچینې آزادې کړي ترڅو د زیربنا د اور وژنې پرځای د ځانګړتیاوو په پراختیا تمرکز وکړي.

"د فعالیت غوره کول تل تر ټولو تخنیکي پیچلي نه وي - دا هغه څه دي چې پیچلتیا کموي پداسې حال کې چې په مستقیم ډول د هغه خنډ په نښه کوي چې د کاروونکي درد لامل کیږي." — یو اصول چې د ډیسکارډ ډیټابیس مهاجرت کیسه لخوا تایید شوی.

دا قضیه د هرې ودې پلیټ فارم لپاره یو مهم درس روښانه کوي: د ودې د یوې مرحلې لپاره سمه وسیله ممکن د راتلونکي لپاره غلط وسیله شي. دوامداره بنچمارک کول او مهاجرت ته لیوالتیا د ضعیف پلان کولو نښې ندي - دا د انجینرۍ د بشپړتیا نښې دي.

کوم ریښتیني نړۍ پلي کولو درسونه سوداګرۍ پلي کولی شي؟

د ډیسکارډ د اصلاح کولو سفر خالص نظري نه و - دا د تکرار وړ عملونو سیټ تولید کړ چې د سافټویر لخوا پرمخ وړل شوي سوداګرۍ کې پلي کیږي. تر ټولو د عمل وړ لیدو کې شامل دي:

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
  • د اصلاح کولو دمخه پروفایل: اختلاف په دوامداره توګه د انګیرنې پرځای د اندازه کولو له لارې دقیق خنډونه پیژندلي، په غیر مهم لارو کې د ضایع هڅو مخه نیسي.
  • د I/O- درنو کاري بارونو لپاره همغږي لومړۍ ژبې غوره کړئ: د پیغام روټینګ لپاره ایلیکسیر ته تلل د هر ارتباط ماډلونو په پرتله د CPU سر په ډراماتیک ډول کم کړی.
  • د کمپیوټ څخه دوه چنده ذخیره کول: د ریښتیني وخت تحویلي پرت څخه د پیغام ذخیره کولو جلا کولو سره، ډیسکارډ هر پرت ته د خپل ځانګړي بار اندازې پراساس په خپلواکه توګه اندازه کولو وړتیا ورکړه.
  • د بیګ بینګ بیا لیکلو په اړه د زیاتیدونکي مهاجرت منل: مهم سیسټمونه د خدماتو لخوا لیږدول شوي خدمتونه، خطر کموي او د فعالیت لاسته راوړنو دوامداره اعتبار ته اجازه ورکوي.
  • مخکې د کتنې په برخه کې پانګونه وکړئ: د ډیسکارډ وړتیا په چټکۍ سره د ریګریشنونو کشف کولو لپاره د توزیع شوي تعقیب، میټریک ډشبورډونو، او د بحرانونو د رامنځته کیدو دمخه د خبرتیا زیربنا کې د ژورې پانګونې څخه رامینځته شوی.

د Discord چلند څنګه د صنعت بدیلونو سره پرتله کوي؟

د ډیسکارډ د اصلاح کولو ماډل په معنی سره توپیر لري چې څنګه پلیټ فارمونه لکه سلیک او مایکروسافټ ټیمونه ورته ننګونو ته رسیدلي دي. سلیک، د مثال په توګه، د غوښتنلیک پرت کې د Node.js-based stack او WebSocket مدیریت ته خورا ډیر تکیه ورکړه، د پراختیا کونکي پیژندنې په بدل کې د لوړې حافظې سر منل. ټیمونه، چې د مایکروسافټ د Azure زیربنا لخوا ملاتړ کیږي، د تصدۍ لومړۍ طریقه غوره کړه - د خام ځنډ فعالیت په پرتله د موافقت او ادغام حد ته لومړیتوب ورکول.

د ډیسکارډ توپیر کوونکی د دې لیوالتیا وه چې لږ اصلي ټیکنالوژي غوره کړي - Elixir, Rust, ScyllaDB - کله چې دا ټیکنالوژي په څرګند ډول د ځانګړو ستونزو لپاره غوره مناسبه وه. د ټیکنالوژۍ انتخاب ته د ایډیالوژیکي تګلارې پرځای دا عملي کار د اندازه کولو وړ لاسته راوړنې تولید کړي پرته له دې چې د عمده پلور پلیټ فارم بیا لیکلو ته اړتیا ولري په هر وخت کې.

د سوداګرۍ لپاره چې د دوی خپل پلیټ فارم سټیکس ارزوي، د Discord مثال د "بیا پیل شوي پرمختگ" په وړاندې په کلکه استدلال کوي - د ستونزې لپاره د دوی د مناسب کولو پرځای د دوی د صنعت وقار لپاره ټیکنالوژي غوره کول. پوښتنه هیڅکله نه ده "څه مشهور دی؟" مګر "څه شی د فعالیت دا ځانګړی خنډ حل کوي؟"

کوم تجربوي شواهد ثابتوي چې د Discord د اصلاح کولو ستراتیژی کار کوي؟

د Discord د انجینري پریکړو پایلې مستند او د اندازه کولو وړ دي. د ScyllaDB مهاجرت په تعقیب، Discord د نوډ شمیره کې د 10x کمښت راپور ورکړی پداسې حال کې چې په ورته وخت کې د ځنډ ښه کول. د Rust API بیا لیکل د حافظې پورې اړوند بګ ټولې کټګورۍ له مینځه وړي پداسې حال کې چې د خدماتو غبرګون وخت کموي. په پیمانه د پیغام رسول په دوامداره توګه د 50ms حد څخه ښکته کار کوي حتی د لوی لوبو پیښو په جریان کې - هغه شیبې چې دمخه یې سیسټم خپل محدودیت ته فشار ورکړی و.

تر 2023 پورې، ډیسکارډ هره ورځ له 19 ملیون څخه ډیر فعال سرورونو کې له 4 ملیارد دقیقو څخه ډیر غږیز ارتباط پروسس کاوه. دا د باطل میټریکونه ندي - دا شواهد دي چې د انجینرۍ فشار لاندې د معمارۍ پریکړې د وخت په تیریدو سره دوامدار او ترکیبي فعالیت ګټې تولیدوي.

په مکرر ډول پوښتل شوي پوښتنې

ولې Discord د خپل API پرت لپاره له Python څخه Rust ته مهاجرت وکړ؟

د Python's Global Interpreter Lock (GIL) په بنسټیز ډول د ریښتیني همغږي کوډ اجرا کولو وړتیا محدودوي ، د ټرپټ چت رامینځته کوي چې د ډیسکارډ د API غوښتنې حجم لوړیدو سره په زیاتیدونکي ډول ستونزې رامینځته کوي. Rust د سیسټم سطحې کوډ لپاره د پرتلې وړ پراختیا کونکي تولید وړاندیز کوي پرته له دې چې د چلولو وخت اوور هیډ، د کثافاتو راټولولو وقفې، یا د Python د موافقت محدودیتونه - د API پرت تولید کړي چې دواړه ګړندي او د بار لاندې د وړاندوینې وړ وي.

په پیمانه کې د پلیټ فارمونو د فعالیت د اصلاح کولو ترټولو لویه غلطي څه ده؟

تر ټولو عام غلطی د وخت څخه مخکې او په پراخه کچه اصلاح کول دي نه د ځانګړي، اندازه شوي خنډ په نښه کول چې د تخریب لامل کیږي. د فعالیت انجینرۍ خورا مؤثره ده کله چې د پروفایل ډیټا او د کارونکي اغیزې میټریک لخوا پرمخ وړل کیږي. Discord په دوامداره توګه د یو ترټولو لوړ اغیز لرونکي محدودیت په پیژندلو سره بریالی شو — د ډیټابیس ځنډول ، د API له لارې پټول ، د ویب ساکټ موافقت — او په ځانګړي ډول راتلونکي ته له تللو دمخه یې حل کول.

څنګه کولی شي د سوداګرۍ په کچه پلیټ فارم د تصدۍ انجینري سرچینو پرته د Discord فعالیت درسونه پلي کړي؟

اصول په اغیزمنه توګه اندازه کول. هر پلیټ فارم کولی شي د مشاهدې وسیلې پلي کړي ، د ریښتیني بار لاندې د پروفایل پای ټکي ، او د ډیفالټ پرځای د ډیټا پراساس د ډیریدونکي سټیک پریکړې وکړي. په ټول کې یو پلیټ فارمونه چې د زیربنا پیچلتیا خلاصوي — د کیشینګ اداره کول ، ریښتیني وخت اړیکې ، او د پلیټ فارم په کچه د ډیټا ذخیره کول - مخ پر ودې سوداګرۍ ته اجازه ورکوي چې له مطلوب جوړښت څخه ګټه پورته کړي پرته لدې چې پخپله بیا جوړولو ته اړتیا ولري.


د Discord د فعالیت د اصلاح کولو قضیې مطالعه دا ثابتوي چې دوامداره پیمانه د عمدي، ډاټا لخوا پرمخ وړل شوي ساختماني پریکړو له لارې ترلاسه کیږي - نه د ستونزو په اړه د سرچینو په اچولو. که تاسو د ارتباطي پلیټ فارم یا څو ماډل سوداګریز عملیاتي سیسټم پرمخ وړئ، اصول یو شان دي: په دوامداره توګه اندازه کړئ، په هوښیارۍ سره دوه اړخیزه کړئ، او هغه وسایل غوره کړئ چې د اصلي ستونزې سره سمون لري.

که ستاسو سوداګرۍ د داسې پلیټ فارم په لټه کې وي چې دا اصول له بکس څخه بهر پلي کړي — د فعالیت اداره کول ، توزیع کول او عملیاتي پیچلتیا ترڅو تاسو وکولی شئ وده باندې تمرکز وکړئ — نن میویز وپلټئ. د 207 مدغم ماډلونو سره، 138,000+ کاروونکي، او پالنونه چې یوازې $ 19 / میاشت پیل کیږي، Mewayz د لومړۍ ورځې څخه ستاسو د سوداګرۍ اندازه کولو لپاره جوړ شوی.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime