Hacker News

Discord: Iwadi ọran ni iṣapeye iṣẹ

Discord: Iwadi ọran ni iṣapeye iṣẹ Itupalẹ okeerẹ ti ija n funni ni idanwo alaye ti awọn paati pataki rẹ ati awọn ilolu to gbooro. Awọn agbegbe pataki ti Idojukọ Ifọrọwọrọ naa da lori: Awọn ilana mojuto ati p ...

11 min read Via newsletter.fullstack.zip

Mewayz Team

Editorial Team

Hacker News

Ibanujẹ: Iwadi Ọran kan ni Iṣapeye Iṣe

Irin-ajo imudara iṣẹ Discord duro bi ọkan ninu awọn apẹẹrẹ ikẹkọ julọ ni imọ-ẹrọ sọfitiwia ode oni, ti n ṣe afihan bi pẹpẹ kan ṣe le ṣe iwọn lati ẹgbẹẹgbẹrun si awọn ọgọọgọrun awọn olumulo lai ṣe irubọ iyara tabi igbẹkẹle. Nipa ṣiṣe ayẹwo awọn ipinnu imọ-ẹrọ Discord - lati awọn iṣipopada data data si faaji fifiranṣẹ akoko gidi - awọn iṣowo le jade awọn ilana ti a fihan fun kikọ awọn iru ẹrọ ti o ṣe labẹ titẹ.

Kini Awọn ọna ẹrọ Core Iṣe Agbara Discord ni Iwọn?

Awọn amayederun Discord jẹ itumọ lori imọ-jinlẹ ti awọn iṣowo-ẹrọ imọ-ẹrọ mọọmọ. Ni akọkọ ti a kọ sori Python ati MongoDB, pẹpẹ naa yarayara pade awọn igo bi ipilẹ olumulo rẹ ti gbamu. Ẹgbẹ imọ-ẹrọ ṣe ipinnu ayaworan to ṣe pataki: lọ kuro ni akopọ monolithic kan si ọna faaji ti o da lori iṣẹ, ṣiṣe awọn ẹya ara ẹni kọọkan lati ṣe iwọn ni ominira.

Ni ipilẹ ti iṣẹ Discord ni lilo rẹ ti Elixir ati ẹrọ foju Erlang BEAM fun Layer fifiranṣẹ ni akoko gidi. BEAM VM jẹ idi-itumọ fun nigbakanna, awọn eto ifarada-aṣiṣe - ni deede kini pẹpẹ ti o n mu awọn ọkẹ àìmọye awọn ifiranṣẹ fun ọjọ kan nilo. Nibayi, Discord's API Layer a ti tun kọwe nikẹhin ni Rust, ti o funni ni aabo iranti ati iṣẹ-isunmọ-odo ti Python nìkan ko le baramu ni iwọn.

Abajade jẹ eto nibiti awọn miliọnu awọn asopọ WebSocket nigbakanna ti wa ni itọju pẹlu awọn akoko ifiranšẹ sub-50ms, paapaa lakoko lilo tente oke. Eyi kii ṣe ijamba - o jẹ ọja ti profaili aṣetunṣe, idanimọ igo, ati awọn atunko ifọkansi ti awọn paati eto wahala julọ.

Bawo ni Discord ṣe yanju igo igo aaye data olokiki julọ?

Ọkan ninu awọn italaya imọ-ẹrọ ti a ṣe akọsilẹ julọ julọ Discord ni pẹlu Cassandra, ibi ipamọ data ti o pin ti o lo lati tọju itan-akọọlẹ ifiranṣẹ. Bi pẹpẹ ti n dagba, kika lairi ti bajẹ gidigidi - kii ṣe nitori Cassandra jẹ yiyan ti ko dara, ṣugbọn nitori awọn ilana lilo Discord ti yipada ni ipilẹ. Awọn ipin gbigbona, nibiti nọmba aiṣedeede ti awọn kika ti dojukọ lori awọn apa data kan pato, fa awọn idinku aisọtẹlẹ.

Idahun ẹgbẹ imọ-ẹrọ jẹ iṣilọ ala-ilẹ si ScyllaDB, aaye data ibaramu Cassandra ti a kọ sinu C++. Iṣiwa naa dinku lairi p99 kika lati 40-125ms si isalẹ si awọn milliseconds oni-nọmba ẹyọkan ni ọpọlọpọ awọn ọran. Ni pataki julọ, o dinku idiju iṣẹ ṣiṣe ti ṣiṣakoso iṣupọ naa, fifisilẹ awọn orisun imọ-ẹrọ laaye lati dojukọ idagbasoke ẹya kuku ju imunadoko amayederun.

"The best performance optimization is not always the most technically sophisticated — it is the one that reduces complexity while directly addressing the bottleneck causing user pain." - Ilana ti a fọwọsi nipasẹ itan ijira data Discord.

Ọran yii ṣe apejuwe ẹkọ pataki fun eyikeyi iru ẹrọ ti ndagba: irinṣẹ to tọ fun ipele kan ti idagbasoke le di ohun elo ti ko tọ fun atẹle. Iṣeduro alatẹsiwaju ati ifẹ lati ṣiṣi kii ṣe awọn ami ti igbero ti ko dara — wọn jẹ ami ti idagbasoke imọ-ẹrọ.

Kini Awọn ẹkọ Imuṣẹ Aye-gidi Awọn iṣowo Le Waye?

Irin-ajo iṣapeye Discord kii ṣe imọ-jinlẹ lasan - o ṣe agbekalẹ akojọpọ awọn iṣe atunwi ti o wulo fun eyikeyi iṣowo ti o dari sọfitiwia. Awọn ọna gbigbe ti o ṣee ṣe julọ pẹlu:

💡 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 →
  • Profaili ṣaaju iṣapeye: Discord nigbagbogbo ṣe idanimọ awọn igo gangan gangan nipasẹ wiwọn dipo arosinu, idilọwọ ipadanu lori awọn ọna ti kii ṣe pataki.
  • Yan awọn ede concurrency-akọkọ fun awọn ẹru iṣẹ I/O-eru: Gbigbe lọ si Elixir fun ipa-ọna ifiranšẹ dinku Sipiyu lori bosipo ni akawe si awọn awoṣe isopo-fun-asopọ.
  • Decouple ibi ipamọ lati iṣiro: Nipa yiya sọtọ ibi ipamọ ifiranšẹ lati aaye ifijiṣẹ akoko gidi, Discord mu ki Layer kọọkan ṣiṣẹ lati ṣe iwọn ni ominira ti o da lori apẹrẹ fifuye kan pato.
  • Gba ijira ti o pọ si lori awọn atunko nla-bang: Awọn ọna ṣiṣe to ṣe pataki ni iṣẹ iṣikiri nipasẹ iṣẹ, idinku eewu ati gbigba fun ijẹrisi tẹsiwaju ti awọn anfani iṣẹ.
  • Fi idoko-owo sinu akiyesi ni kutukutu: Agbara Discord lati ṣe awari awọn ipadasẹhin ni iyara lati inu idoko-owo jinlẹ ni wiwa kaakiri, awọn dashboards metiriki, ati awọn amayederun titaniji ti a ṣe ṣaaju ki awọn rogbodiyan ṣẹlẹ.

Bawo ni Ọna Discord Ṣe afiwe si Awọn Yiyan Ile-iṣẹ?

Awoṣe iṣapeye Discord ṣe iyatọ ni itumọ pẹlu bii awọn iru ẹrọ bii Slack ati Awọn ẹgbẹ Microsoft ti sunmọ awọn italaya kanna. Slack, fun apẹẹrẹ, fi ara rẹ lelẹ sinu akopọ orisun-Node.js ati iṣakoso WebSocket ni ipele ohun elo, gbigba iranti ti o ga julọ ni paṣipaarọ fun imudara idagbasoke. Awọn ẹgbẹ, ti o ṣe atilẹyin nipasẹ awọn amayederun Azure ti Microsoft, mu ọna ile-iṣẹ akọkọ-akọkọ-ni pataki ni ibamu ati isọpọ ibú lori iṣẹ ṣiṣe lairi aise.

Iyatọ Discord ni ifẹ rẹ lati gba awọn imọ-ẹrọ ti o kere si akọkọ - Elixir, Rust, ScyllaDB - nigbati awọn imọ-ẹrọ wọnyẹn ni afihan dara julọ si awọn iṣoro kan pato. Iṣe adaṣe yii kuku ọna arojinle si yiyan imọ-ẹrọ ṣe agbejade awọn anfani iwọnwọn laisi nilo pe pẹpẹ osunwon tun kọ ni aaye eyikeyi ni akoko.

Fun awọn iṣowo ti n ṣe iṣiro awọn akopọ pẹpẹ tiwọn, apẹẹrẹ Discord jiyan ni ilodi si “idagbasoke-iwakọ bẹrẹ” - yiyan awọn imọ-ẹrọ fun ọlá ile-iṣẹ wọn dipo ibamu wọn fun iṣoro naa. Ibeere naa kii ṣe "kini o gbajumo?" ṣugbọn "kini o yanju idiwọ iṣẹ ṣiṣe kan pato?"

Ẹri Imudaniloju wo ni Ṣe afihan Awọn ilana Imudara Discord Ṣiṣẹ?

Awọn abajade ti awọn ipinnu imọ-ẹrọ Discord jẹ akọsilẹ ati iwọnwọn. Ni atẹle ijira ScyllaDB, Discord ṣe ijabọ idinku 10x ni kika oju ipade nigbakanna ni ilọsiwaju lairi. Atunkọ Rust API yọkuro gbogbo awọn ẹka ti awọn idun ti o ni ibatan si iranti lakoko ti o dinku awọn akoko idahun iṣẹ. Ifijiṣẹ ifiranṣẹ ni iwọnwọn n ṣiṣẹ nigbagbogbo ni isalẹ awọn iloro 50ms paapaa lakoko awọn iṣẹlẹ ere pataki - awọn akoko ti o ti fa eto naa tẹlẹ si awọn opin rẹ.

Ni ọdun 2023, Discord n ṣiṣẹ lori awọn iṣẹju 4 bilionu ti ibaraẹnisọrọ ohun lojoojumọ kọja diẹ sii ju awọn olupin ti nṣiṣe lọwọ miliọnu 19. Iwọnyi kii ṣe awọn metiriki asan - wọn jẹ ẹri pe awọn ipinnu ayaworan ti a ṣe labẹ titẹ imọ-ẹrọ ṣe agbejade ti o tọ, awọn anfani iṣẹ ṣiṣe pọ si ni akoko pupọ.

Awọn ibeere Nigbagbogbo

Kini idi ti Discord ṣe jade lati Python si ipata fun Layer API rẹ?

Titiipa Onitumọ Agbaye ti Python (GIL) ni ipilẹṣẹ fi opin si agbara rẹ lati ṣiṣẹ koodu igbakanna nitootọ, ṣiṣẹda awọn aja agbejade ti o di iṣoro pupọ si bi iwọn ibeere API Discord ti dagba. Ipata funni ni iṣelọpọ iṣelọpọ afiwera fun koodu ipele awọn ọna ṣiṣe laisi akoko akoko ṣiṣe, awọn idaduro ikojọpọ idoti, tabi awọn idiwọn concurrency ti Python - ti n ṣe agbejade Layer API kan ti o yiyara ati asọtẹlẹ diẹ sii labẹ ẹru.

Kini awọn iru ẹrọ aṣiṣe iṣapeye iṣẹ ṣiṣe ti o tobi julọ ṣe ni iwọn?

Aṣiṣe ti o wọpọ julọ ni iṣapeye laipẹ ati ni fifẹ kuku ki a fojusi pato, igo igo ti o ni iwọn ti nfa ibajẹ. Imọ-ẹrọ ṣiṣe jẹ imunadoko julọ nigbati a ba wa nipasẹ data profaili ati awọn metiriki ipa olumulo. Discord ṣaṣeyọri nigbagbogbo nipa idamọ idiwọ ipa-ipa ti o ga julọ nikan - idaduro data data, ilojade API, oju opo wẹẹbu wẹẹbu - ati yanju rẹ ni pataki ṣaaju gbigbe si atẹle.

Bawo ni iru ẹrọ ipele-iṣowo ṣe le lo awọn iṣẹ ṣiṣe Discord laisi awọn orisun imọ-ẹrọ ile-iṣẹ?

Awọn ilana naa dinku daradara. Syeed eyikeyi le ṣe imuse ohun elo ohun elo akiyesi, awọn aaye ipari profaili labẹ ẹru ojulowo, ati ṣe awọn ipinnu akopọ ti afikun ti o da lori data kuku ju awọn aiyipada. Gbogbo-ni-ọkan iru ẹrọ ti o áljẹbrà idiju amayederun — mimu caching, gidi-akoko ibaraẹnisọrọ, ati data ibi ipamọ ipele ipele - gba awọn iṣowo dagba lati anfani lati iṣapeye faaji lai nilo lati tun ti o ara wọn.


Iwadi ọran iṣapeye iṣẹ Discord jẹri pe iwọn alagbero ni a ṣaṣeyọri nipasẹ mọọmọ, awọn ipinnu ayaworan ti a ṣe idari data - kii ṣe nipa jiju awọn orisun si awọn iṣoro. Boya o n ṣiṣẹ iru ẹrọ ibaraẹnisọrọ kan tabi ẹrọ ṣiṣe iṣowo oni-pupọ, awọn ilana jẹ kanna: wiwọn lainidi, yọkuro ni oye, ati yan awọn irinṣẹ ti o baamu iṣoro gangan naa.

Ti o ba jẹ pe iṣowo rẹ n wa pẹpẹ ti o kan awọn ilana wọnyi lati inu apoti - mimu ṣiṣe, iwọnwọn, ati idiju iṣẹ ṣiṣe ki o le dojukọ idagbasoke - wadi Mewayz loni. Pẹlu awọn modulu iṣọpọ 207, awọn olumulo 138,000+, ati awọn ero ti o bẹrẹ ni $ 19 fun oṣu kan, Mewayz ti kọ lati ṣe iwọn pẹlu iṣowo rẹ lati ọjọ kini.

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