Discord: Ko ha ako fakaekeeke 'i he fakahoko 'o e optimization .
Discord: Ko ha ako fakaekeeke 'i he fakahoko 'o e optimization . Ko e ‘analaiso kakato ko eni ‘o e ta‘efemahino‘akí ‘okú ne ‘omai ‘a e sivi fakaikiiki ‘o hono ngaahi konga tefitó mo e ngaahi ‘uhinga lahi ange. Ngaahi Feitu'u Tefito 'o e Tokanga ʻOku fakatefito ʻa e fealēleaʻakí ʻi he: Ngaahi founga tefito mo e p...
Mewayz Team
Editorial Team
Fakafepaki: Ko ha Ako Fakaekeeke 'i he Fakalelei'i 'o e Fakahoko
'Oku tu'u 'a e fononga'anga 'o e fakahoko 'o e Discord ko e taha 'o e ngaahi sipinga fakaako lahi taha 'i he 'enisinia polokalama fakakomipiuta fakaonopooni, 'o fakahaa'i 'a e founga 'e lava ke scale ai ha tu'unga mei he lau afe ki he laui teau miliona 'o e kau faka'aonga'i 'o 'ikai feilaulau'i 'a e vave pe falala'anga. 'I hono sivisivi'i 'o e ngaahi tu'utu'uni faka'enisinia 'a e Discord — mei he ngaahi hiki 'o e database ki he taimi mo'oni 'o e fekau 'o e 'atakai — 'e lava ke to'o 'e he ngaahi pisinisi 'a e ngaahi founga kuo fakamo'oni'i ki hono langa 'o e ngaahi tu'unga 'oku nau fakahoko 'i he malumalu 'o e 'omi.
Ko e hā ʻa e Ngaahi Founga Tefito ʻoku Fakamālohiʻi ai ʻa e Fakahoko ʻo e Power Discord ʻi he Siakale?
Ko e ngaahi langa fakalakalaka 'o e Discord 'oku langa ia 'i ha filosofia 'o e ngaahi fefakatau'aki faka'enisinia fakakaukau'i. Na'e 'uluaki langa 'i he Python mo e MongoDB, na'e vave 'a e fetaulaki 'a e tu'unga mo e ngaahi bottlenecks 'i he pa 'a hono tu'unga faka'aonga'i. Na'e fai 'e he timi 'enisinia ha tu'utu'uni faka'aati mahu'inga: hiki mei ha monolithic stack ki ha 'aati 'oku fakatefito 'i he ngaue, 'o lava ai 'a e ngaahi konga fakafo'ituitui ke scale tau'ataina.
'I he uho 'o e fakahoko 'o e Discord ko 'ene faka'aonga'i 'o e Elixir mo e misini virtual 'o e Erlang BEAM ki hono layer fekau taimi mo'oni. Na'e taumu'a-langa 'a e BEAM VM ki he concurrent, ngaahi sisitemi 'oku kataki'i 'a e hala — ko e me'a tofu pe 'oku fie ma'u 'e ha tu'unga 'oku ne tokanga'i 'a e ngaahi fekau 'e laui piliona 'i he 'aho. Lolotonga iá, na'e faifai pea toe tohi 'a e layer API 'o e Discord 'i he 'ume'umea, 'o 'oatu 'a e malu 'o e manatu mo e ofi-zero-'olunga 'o e fakahoko 'oku 'ikai lava ke fakafehoanaki 'e he Python 'i he me'afua.
Ko e ola ko ha sisitemi 'oku tauhi ai 'a e ngaahi fehokotaki'anga WebSocket taimi tatau 'e laui miliona mo e ngaahi taimi 'o e tu'uaki 'o e fekau 'o e sub-50ms, na'a mo e lolotonga 'o e tumutumu 'o hono faka'aonga'i. Na'e 'ikai ko ha fakatu'utamaki 'eni — ko e ola ia 'o e iterative profiling, 'ilo'i 'o e bottleneck, mo e ngaahi tohi fakataumu'a 'o e ngaahi konga 'o e sisitemi 'oku mafasia taha.
Na'e anga fefe hono solova 'e he Discord 'a hono bottleneck 'o e Database 'iloa taha?
Ko e taha 'o e ngaahi pole 'enisinia 'o e Discord 'oku fakatohi fakapule'anga lahi taha na'e kau ai 'a e Cassandra, 'a e tufaki'anga fakamatala na'a ne ngaue'aki ke tauhi 'a e hisitōlia 'o e fekau. 'I he tupulaki 'a e tu'unga, lau latency degraded lahi — 'ikai koe'uhi ko Cassandra ko ha fili kovi, ka koe'uhi ko e ngaahi founga 'o hono faka'aonga'i 'o e Discord kuo liliu fakalukufua. Ko e ngaahi vahevahe vela, 'a ia ko ha lahi ta'efakatatau 'o e lau 'oku fakatefito 'i he ngaahi nodes 'o e fakamatala pau, na'e fakatupu 'e he ngaahi slowdowns ta'ealafakafuofua'i.
Ko e tali 'a e timi 'enisinia ko ha hiki faka'ilonga ki he ScyllaDB, ko ha fakamatala 'oku fe'unga mo e Cassandra 'oku tohi 'i he C++. Na'e fakasi'isi'i 'e he hiki 'a e p99 lau 'a e latency mei he 40-125ms ki lalo ki he milliseconds fika 'e taha 'i he ngaahi me'a lahi taha. Ko e me'a 'oku mahu'inga ange, na'a ne fakasi'isi'i 'a e faingata'a fakangaue 'o hono pule'i 'o e kulupu, fakatau'ataina'i 'a e ngaahi ma'u'anga tokoni faka'enisinia ke tokanga taha ki he fakalakalaka 'o e ngaahi fotunga kae 'ikai ko e tamate afi 'o e ngaahi langa fakalakalaka.
"Ko e optimization fakahoko lelei taha 'oku 'ikai ko e taimi kotoa pe 'oku fakatekinikale lahi taha — ko e taha ia 'oku ne fakasi'isi'i 'a e faingata'a lolotonga hono fakafepaki'i fakahangatonu 'a e bottleneck 'oku ne fakatupu 'a e mamahi 'a e tokotaha ngaue." — Ko ha tefito'i mo'oni 'oku fakamo'oni'i 'e he talanoa 'o e hiki 'o e database 'a e Discord.
'Oku fakahaa'i 'e he keisi ko 'eni ha lesoni mahu'inga ki ha fa'ahinga tu'unga tupulaki: 'e lava ke hoko 'a e me'angaue totonu ki he siteisi 'e taha 'o e tupulaki ko e me'angaue hala ki he hoko mai. Ko e hokohoko atu 'o e benchmarking mo e loto fie hiki 'oku 'ikai ko ha faka'ilonga ia 'o e palani kovi — ko e faka'ilonga ia 'o e matu'otu'a faka'enisinia.
Ko e hā ha ngaahi lēsoni fakahoko ʻo e māmani moʻoní ʻe lava ke fakaʻaongaʻi ʻe he ngaahi pisinisí?
Na'e 'ikai ke teolosia ma'a 'a e fononga'anga 'o e optimization 'a e Discord — na'a ne fakatupu ha seti 'o e ngaahi founga ngaue replicable 'oku faka'aonga'i ki ha fa'ahinga pisinisi 'oku fakalele 'e he polokalama fakakomipiuta. Ko e ngaahi me'akai 'oku ngaue'aki lahi taha 'oku kau ai 'a e:
💡 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 →- Profile kimu'a pea toki fakalelei'i: Na'e 'ilo'i ma'u pe 'e he Discord 'a e ngaahi bottlenecks pau 'o fakafou 'i he fua kae 'ikai ko e fakakaukau, 'o ta'ofi 'a e feinga maumau 'i he ngaahi hala 'oku 'ikai mahu'inga.
- Fili 'a e ngaahi lea 'o e concurrency-'uluaki ki he ngaahi ngaue mamafa 'o e I/O: Ko e hiki ki he Elixir ki he fekau 'o e routing na'e fakasi'isi'i lahi 'a e CPU 'i 'olunga 'i hono fakafehoanaki ki he ngaahi sipinga 'o e filo-ki he-fehokotaki'anga.
- Decouple 'a e tanaki'anga mei he compute: 'I hono fakamavahe'i 'o e tanaki'anga 'o e fekau mei he layer 'o e tu'uaki taimi mo'oni, Na'e faka'ata 'e he Discord 'a e layer takitaha ke fua tau'ataina 'o makatu'unga 'i hono sipinga 'o e kavenga pau.
- 'Ufi'ufi 'a e hiki fakautuutu 'i he big-bang rewrites: Na'e hiki 'a e ngaahi sisitemi mahu'inga 'i he sevesi ki he sevesi, fakasi'isi'i 'a e fakatu'utamaki mo faka'ata 'a e hokohoko atu 'o e fakamo'oni 'o e ngaahi ma'u'anga tokoni 'o e fakahoko ngaue.
- 'Inivesi 'i he observability vave: Ko e malava 'a e Discord ke 'ilo'i 'a e ngaahi regressions na'e tupu vave ia mei ha 'inivesi loloto 'i he tufaki'anga 'o e muimui'i, ngaahi dashboards metrics, mo e ngaahi langa fakalakalaka fakatokanga na'e langa kimu'a pea toki hoko 'a e ngaahi faingata'a.
'Oku anga fefe 'a e fakafehoanaki 'a e Founga 'a e Discord ki he Ngaahi Founga Kehe 'a e Ngaahi Ngaue'anga?
'Oku kehekehe 'uhinga 'a e sipinga 'o e fakalelei'i 'o e Discord mo e founga kuo fakaofiofi ai 'a e ngaahi tu'unga hange ko e Slack mo e Microsoft Teams ki he ngaahi pole tatau. Slack, hange ko 'eni, leaned lahi ki ha Node.js-fakava'e 'i he stack mo e pule'i 'o e WebSocket 'i he layer 'o e tohi kole, tali 'a e manatu ma'olunga ange 'i he 'olunga 'i he fetongi 'o e maheni 'a e developer. Ngaahi timi, poupou'i 'e he ngaahi langa fakalakalaka 'o e Microsoft 'a e Azure, na'a nau to'o ha founga 'o e kautaha-'uluaki — fakamu'omu'a 'a e talangofua mo e fakataha'i 'o e laulahi 'i he fakahoko 'o e raw latency.
Ko e me'a na'e fakafaikehekehe'i 'aki 'a e Discord ko 'ene loto fiemalie ke 'ave 'a e ngaahi tekinolosia 'oku si'isi'i ange 'a e ngaahi me'a lahi — Elixir, Rust, ScyllaDB — 'i he taimi na'e fakahaa'i ai 'a e ngaahi tekinolosia ko ia 'oku fe'unga lelei ange ki he ngaahi palopalema pau. Ko e founga pragmatic ko 'eni kae 'ikai ko e founga fakakaukau ki he fili 'o e tekinolosia na'e fakatupu 'e he ngaahi ma'u'anga tokoni 'oku lava ke fua 'o 'ikai fie ma'u ha toe tohi 'o e tu'unga fakalukufua 'i ha taimi pe 'e taha.
Ki he ngaahi pisinisi 'oku nau sivi'i 'enau ngaahi tu'unga 'o e tu'unga, 'Oku fakakikihi fefeka 'a e sipinga 'o e Discord ki he "fakalakalaka 'oku fakalele 'e he resume" — fili 'a e ngaahi tekinolosia ki honau ongoongoa 'o e ngaue'anga kae 'ikai ko 'enau fe'unga mo e palopalema. Ko e fehu'i 'oku 'ikai 'aupito "ko e ha 'oku manakoa?" ka ko e "ko e hā ʻokú ne solova ʻa e fakangatangata fakahoko pau ko ʻení?"
Ko e hā ha fakamoʻoni fakaʻepisitolo ʻokú ne fakamoʻoniʻi ʻoku ngāue ʻa e ngaahi founga fakaleleiʻi ʻo e Discord?
Ko e ngaahi ola 'o e ngaahi tu'utu'uni faka'enisinia 'a e Discord 'oku fakatohi pea 'oku lava ke fua. Hili 'a e hiki 'a e ScyllaDB, Na'e lipooti 'e he Discord ha fakasi'isi'i 'o e 10x 'i he lau 'o e node lolotonga ia 'oku fakalelei'i 'i he taimi tatau 'a e latency. Na'e faka'auha 'e he Rust API rewrite 'a e ngaahi fa'ahinga kotoa 'o e ngaahi bugs fekau'aki mo e manatu lolotonga hono fakasi'isi'i 'o e taimi tali 'o e ngaue. Ko hono tu'uaki 'o e fekau 'i he me'afua 'oku ngaue ma'u pe ia 'i lalo 'i he 50ms threshold na'a mo e lolotonga 'o e ngaahi me'a lalahi 'o e va'inga — ngaahi momeniti na'e fakamafasia'i kimu'a 'a e sisitemi ki hono ngaahi fakangatangata.
'I he 2023, Na'e fakahoko 'e he Discord 'a e miniti 'e 4 piliona 'o e fetu'utaki le'o faka'aho 'i he ngaahi seva 'oku laka hake 'i he 19 miliona 'oku ngaue. 'Oku 'ikai ko ha ngaahi metrics vanity 'eni — ko e fakamo'oni ia ko e ngaahi tu'utu'uni faka'aati na'e fai 'i he malumalu 'o e 'enisinia 'oku ne fakatupu 'a e ngaahi lelei 'o e fakahoko 'o e tu'uloa, compounding 'i he taimi.
Ngaahi Fehuʻi ʻoku Faʻa ʻEke
Ko e hā naʻe hiki ai ʻa e Discord mei he Python ki he Rust ki hono laʻi API?
'Oku fakangatangata 'e he loka faka'uhinga fakamamani lahi 'o e Python (GIL) 'a 'ene malava ke fakahoko 'a e code concurrent mo'oni, 'o fakatupu 'a e ngaahi silingí 'o e throughput na'e hoko 'o fakautuutu 'a e palopalema 'i he tupulaki 'a e lahi 'o e kole API 'a e Discord. Na'e 'oatu 'e he 'ume'umea 'a e ola 'o e developer fakafehoanaki ki he ngaahi sisitemi-levolo 'o e code 'o 'ikai ha taimi lele 'i 'olunga, ngaahi tu'u 'o e tanaki 'o e veve, pe ngaahi fakangatangata 'o e concurrency 'o e Python — 'o fakatupu ha la'i API na'e fakatou vave ange mo lahi ange 'a e predictable 'i he lalo kavenga.
Ko e hā ʻa e fehalaaki lahi taha ʻoku fai ʻe he ngaahi tuʻunga ʻo e fakaleleiʻi ʻo e fakahoko ngāué ʻi he meʻafuá?
Ko e fehalaaki angamaheni taha ko e optimizing vave mo e lahi kae 'ikai ko e fakataumu'a ki he pau, fua 'o e bottleneck 'oku ne fakatupu 'a e faka'auha. 'Oku ola lelei taha 'a e 'enisinia fakahoko 'i he taimi 'oku fakalele ai 'e he fakamatala profiling mo e metrics 'o e user-uesia. Na'e lavame'a ma'u pe 'a e Discord 'aki hono 'ilo'i 'a e fakangatangata 'o e uesia ma'olunga taha 'e taha — latency 'o e fakamatala, API throughput, WebSocket concurrency — pea solova ia 'o fakatefito kimu'a pea toki hiki ki he hoko mai.
'E lava fēfē ke faka'aonga'i 'e ha tu'unga 'i he tu'unga pisinisi 'a e ngaahi lesoni fakahoko 'o e Discord 'o 'ikai ha ngaahi ma'u'anga tokoni 'enisinia 'o e kautaha?
'Oku scale hifo 'a e ngaahi tefito'i mo'oni 'i he ola lelei. 'E lava ke fakahoko 'e ha fa'ahinga tu'unga observability tooling, ngaahi faka'osinga 'o e fakamatala 'i he malumalu 'o e kavenga mo'oni, pea fai 'a e ngaahi tu'utu'uni fakautuutu 'o e stack 'o makatu'unga 'i he fakamatala kae 'ikai ko e defaults. Ko e ngaahi tu'unga kotoa pe 'i he taha 'oku nau abstract 'a e faingata'a 'o e ngaahi langa fakalakalaka — tokanga'i 'o e caching, fetu'utaki taimi mo'oni, mo e tauhi 'o e fakamatala 'i he tu'unga 'o e tu'unga — 'oku faka'ata 'e he ngaahi pisinisi tupulaki ke nau ma'u 'aonga mei he optimized 'o e 'atakai 'o 'ikai fie ma'u ke nau toe langa ia 'e kinautolu.
'Oku fakamo'oni'i 'e he ako fakaekeeke 'o e fakahoko 'o e optimization 'o e Discord 'oku a'usia 'a e me'afua tu'uloa 'o fakafou 'i he ngaahi tu'utu'uni faka'ata 'oku fakakaukau'i, 'oku fakalele 'e he fakamatala — 'ikai 'aki hono lī 'o e ngaahi ma'u'anga tokoni ki he ngaahi palopalema. Pe 'oku ke fakalele ha tu'unga fetu'utaki pe ko ha sisitemi ngaue pisinisi multi-module, 'Oku tatau pe 'a e ngaahi tefito'i mo'oni: fua ta'etuku, decouple fakapotopoto, pea fili 'a e ngaahi me'angaue 'oku fe'unga mo e palopalema mo'oni.
Kapau 'oku kumi ho'o pisinisi ki ha tu'unga 'oku ne faka'aonga'i 'a e ngaahi tefito'i mo'oni ko 'eni mei he puha — tokanga'i 'a e fakahoko, scalability, mo e faingata'a 'o e ngaue koe'uhi ke ke lava 'o tokanga taha ki he tupulaki — 'aho ke>fakatotolo'i 'a e Mewayz. 'I he 207 modules fakataha'i, 138,000+ kau faka'aonga'i, mo e ngaahi palani 'oku kamata 'i he $19/mahina pe, 'Oku langa 'a e Mewayz ke fakafuofua'i 'aki ho'o pisinisi mei he 'aho 'uluaki.
Ko e hā naʻe hiki ai ʻa e Discord mei he Python ki he Rust ki hono API 'Oku fakangatangata 'e he Python 'a e loka faka'uhinga fakamamani lahi (GIL) 'a 'ene malava ke fakahoko 'a e code concurrent mo'oni, 'o fakatupu 'a e ngaahi silingí 'a ia na'e hoko 'o fakautuutu 'a e palopalema 'i he tupulaki 'a e Discord 'a e API kole productivity offer systemle. runtime 'i 'olunga, ngaahi tu'u 'o e tanaki 'o e veve, pe ngaahi fakangatangata 'o e concurrency 'o e Python \u2014 'o fakatupu ha la'i API"}},{"@type":"Fehu'i","hingoa":"Ko e hā 'a e fehalaaki lahi taha 'o e fakahokohoko 'o e ngaahi tu'unga 'oku fai 'i he me'afua?" vave mo e lahi kae 'ikai ko e fakataumu'a 'a e pau, fua 'a e bottleneck 'oku ne fakatupu 'a e faka'auha 'o e 'enisinia 'o e fakahoko 'oku ola lelei taha 'i he taimi 'oku fakalele ai 'e he fakamatala 'o e profiling mo e metrics 'o e tokotaha faka'aonga'i-uesia 'oku lavame'a ma'u pe 'aki hono faka'ilonga'i 'o e fakangatangata 'o e ma'olunga taha-uesia 'e taha \u2014 database latency, API2014. sp"}},{"@fa'ahinga":"Fehu'i","hingoa":"'E lava fēfē ke faka'aonga'i 'e ha tu'unga 'o e tu'unga pisinisi 'a e ngaahi lesoni fakahoko 'o e Discord 'o 'ikai ha ngaahi ma'u'anga tokoni 'enisinia 'o e kautaha?","acceptedAnswer":{"@fa'ahinga":Tali","text":"Ko e ngaahi tefito'i mo'oni reload hifo 'a e tu'unga 'o e servability 'oku lava ke fakahoko 'a e ola lelei. ngaahi tu'utu'uni 'o e stack fakalahi 'o makatu'unga 'i he fakamatala kae 'ikai ko e ngaahi tu'unga 'o e ngaahi tu'unga kotoa pe 'i he taha 'oku abstract 'a e faingata'a 'o e ngaahi langa fakalakalaka \u2014 tokanga'i 'o e caching, fetu'utaki taimi mo'oni, mo e tauhi 'o e fakamatala 'i he tu'unga 'o e tu'unga \u2014 faka'ata 'a e ngaahi pisinisi tupulaki ke ma'u 'aonga mei he optimi"}}]}Try Mewayz Free
All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.
Get more articles like this
Weekly business tips and product updates. Free forever.
You're subscribed!
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 →Related articles
Hacker News
How I write software with LLMs
Mar 16, 2026
Hacker News
The Linux Programming Interface as a university course text
Mar 15, 2026
Hacker News
Canada's bill C-22 mandates mass metadata surveillance
Mar 15, 2026
Hacker News
LLMs can be exhausting
Mar 15, 2026
Hacker News
The 49MB web page
Mar 15, 2026
Hacker News
Chrome DevTools MCP (2025)
Mar 15, 2026
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
We use cookies to improve your experience and analyze site traffic. Cookie Policy