Table of Contents[Hide][Show]
WhatsApp yog ib qho kev sib tham hauv xov tooj uas tso cai rau cov neeg siv sib pauv lus nrog ib leeg.
Koj puas tau xav txog yuav ua li cas WhatsApp ua haujlwm?
Dab tsi yog cov ntsiab lus uas ua rau nws tsim thiab ua haujlwm?
Cov kab lus no yuav mus dhau lub hauv paus ntawm WhatsApp kev tsim qauv.
Peb kuj tseem yuav mus dhau WhatsApp tus qauv tsim qauv, uas tuaj yeem siv los tsim txhua yam kev sib tham software.
Yog li, tsis muaj ado ntxiv, cia peb saib WhatsApp tus qauv tsim!
1. Cov ntsiab lus tseem ceeb
WhatsApp yog lub tshuab ua kom muaj peev xwm loj uas siv los ntawm ntau tus neeg thoob plaws ntiaj teb. Raws li qhov tshwm sim, nws yuav tsum tau tsim kom zoo kom ua tau zoo ib txwm muaj kev vam thiab ua haujlwm.
Yog li ntawd, kev txiav txim siab qhov kev xav tau tseem ceeb ntawm lub system yog qhov tseem ceeb.
Cov no yog qhov tsawg kawg nkaus yuav tsum tau rau WhatsApp tub txib:
- Muaj peev xwm ua kom yooj yim rau kev sib cuam tshuam ib leeg.
- Cov lus lees paub thiab pom kawg yog ob qho tib si ua tau (Xa, Xa, thiab Nyeem).
- Tso cai rau qhov kawg-rau-kawg encryption thiab kev txhawb nqa xov xwm (duab / yeeb yaj kiab).
Cia peb kawm seb peb cov kev pabcuam tsim nyog yuav tsum muaj peev xwm npaum li cas.
2. Kev kwv yees muaj peev xwm
Peb lub hom phiaj yog los tsim kom muaj lub platform uas muaj peev xwm tuav tau ntau txoj kev tsheb. Xav tias 10 billion SMS raug xa mus rau ib hnub. Peb muaj:
- Txhua hnub, 10 billion SMS raug xa los ntawm ib txhiab tus neeg.
- Thaum lub tsheb loj tshaj plaws (ib ob), 700,000 tus neeg tau ua haujlwm (6X qhov nruab nrab)
- Thaum siv qhov siab tshaj plaws, 40 lab cov lus raug xa mus rau ib ob.
- Qhov nruab nrab ntev ntawm cov lus yog 160 cim: 10B * 160 = 1.6TB ntawm cov ntaub ntawv raug tsim txhua hnub.
- Siv kaum xyoo kev pabcuam ua piv txwv: 10 * 1.6B * 365 PB
- Tag nrho daim ntawv thov yuav raug tsim los ntawm microservices, txhua tus yuav ua haujlwm tshwj xeeb. Xav tias kev xa xov yuav siv sijhawm 20 milliseconds thiab tias muaj 100 qhov sib txuas sib txuas rau ib lub server. Raws li qhov tshwm sim, qhov xav tau ntawm cov neeg sib tham xav tau = (cov lus sib tham ib thib ob Latency) / sib txuas sib txuas rau ib tus neeg rau zaub mov = 40M * 20ms / 100 = 8000 servers.
3. High-level architecture
Qhov system no yog tsim los ntawm ob qhov kev pabcuam tseem ceeb. Kev pabcuam tham thiab kev pabcuam hloov pauv, piv txwv. Cov kev pabcuam sib tham tswj xyuas tag nrho cov tsheb khiav los ntawm cov neeg siv cov lus hauv online. Ib txhij, qhov kev pabcuam ib ntus tswj kev khiav tsheb thaum tus neeg siv offline.
Yog tias tus neeg siv nyob online, qhov kev pabcuam sib tham yog tus saib xyuas kev xa xov.
Nws yuav txheeb xyuas seb tus neeg tau txais xov puas nyob online lossis tsis; yog tias tus neeg tau txais online, qhov kev pabcuam no yuav xa cov lus tam sim; yog tias tus neeg txais kev pabcuam tsis nyob online, qhov kev pabcuam hloov pauv yuav xa cov lus rau lawv thaum lawv rov qab online.
Cov kev pabcuam hloov pauv khaws cia thaj chaw sib cais kom khaws cov ntaub ntawv nkag mus tau ib ntus kom txog thaum tus neeg siv offline rov txuas dua.
Tsim High-Level APIs
Qhov kev pabcuam no muaj ob qib siab ua haujlwm APIs rau kev xa thiab nyeem cov lus. Lub kaw lus tuaj yeem siv tau siv REST architecture.
Parameters rau kev xa lus
Qhov API no yuav raug siv los xa cov lus ntawm ob tus neeg siv.
Parameters ntawm kev sib tham
Qhov API no yog siv los tso saib cov lus sib tham. Xav txog qhov no thawj qhov koj pom thaum koj qhib WhatsApp. Peb tsuas yog xav tau ob peb cov lus rau ib tus neeg siv hauv ib qho lus nug API. Txhawm rau daws qhov no, xav tau qhov offset thiab xov suav suav.
Dab tsi yog cov haujlwm ntawm cov yam ntxwv zoo li pom dhau los, ib tus zuam, thiab ob tus zuam?
Lub luag haujlwm tseem ceeb hauv kev xa tawm cov kev pabcuam no yog kev pabcuam lees paub. Cov yam ntxwv no tau tsim los txij li qhov kev pabcuam no txuas ntxiv tsim thiab txheeb xyuas cov lus lees paub.
- Ib tug zuam: Thaum cov lus los ntawm Tus Neeg Siv A mus txog Tus Neeg Siv B, tus neeg rau zaub mov xa ib qho zuam lees paub tias cov lus tau raug xa mus.
- Muab ob npaug rau zuam: Tom qab tus neeg rau zaub mov cov lus tau xa mus rau Tus Neeg Siv B los ntawm kev sib txuas kom raug, Tus Neeg Siv B yuav lees paub qhov tau txais cov lus rau lub server. Tus neeg rau zaub mov yuav muab tus neeg siv A nrog rau lwm qhov kev lees paub. Yog li ntawd, tus zuam duplicate yuav tshwm sim.
- xiav zuam: Tus neeg siv B yuav xa lwm qhov kev lees paub rau lub server tom qab kuaj xyuas cov lus. Lub server yuav xa Tus Neeg Siv A ib qho lus lees paub ntxiv. Lub zuam xiav yuav tshwm sim ntawm Tus Neeg Siv A lub vijtsam tom qab ntawd.
- Qhov kawg tau pom: Lub plawv dhia mechanism yog tag nrho lub luag hauj lwm rau qhov kawg pom feature. Txhua 5 vib nas this, lub plawv dhia yog kis mus rau tus neeg rau zaub mov, uas ua raws li txhua tus neeg siv cov xwm txheej pom kawg hauv lub rooj uas tuaj yeem nkag tau yooj yim los ntawm lwm tus neeg siv.
4. Tsim cov yam ntxwv tseem ceeb
Kev sib tham ntawm tus kheej
Qhov no yog qhov tsim nyog ntawm qhov kev pabcuam Chat. Tus neeg siv tuaj yeem xa cov lus mus rau lwm tus neeg siv qhov kev pabcuam no. Cia peb saib seb qhov no ua haujlwm li cas:
Xav tias Jay xav sib txuas lus nrog Aayush. Jay txuas nrog tus neeg rau zaub mov sib tham uas nws tau txais cov lus. Jay tau txais kev pom zoo los ntawm kev sib tham server tias cov lus tau xa mus. Tam sim no tus neeg rau zaub mov sib tham tab tom thov cov ntaub ntawv los ntawm cov ntaub ntawv khaws cia txog kev sib tham tus neeg rau zaub mov uas Aayush txuas nrog. Jay's chat server tam sim no xa cov lus mus rau Aayush tus neeg rau zaub mov tham, thiab Aayush tau txais cov lus ntawm lub tshuab thawb. Aayush tam sim no xa ib qho kev lees paub rau Jay tus neeg rau zaub mov sib tham, uas ceeb toom rau Jay tias cov lus tau xa tuaj. Yog tias Aayush nyeem cov lus dua, qhov kev lees paub tshiab uas tau nyeem cov lus tau xa mus rau Jay.
Cov xwm txheej ntawm Cov Neeg Siv Khoom
Lub sijhawm kawg uas tus neeg tau ua haujlwm yog qhov tsis tu ncua ntawm cov tub txib tam sim.
Ib qho kev tswj xyuas kev sib txuas ntawm tus neeg siv khoom thiab cov neeg rau zaub mov tau piav qhia hauv daim duab no. Web sockets tau siv los tsim kom muaj kev sib txuas bidirectional ntawm tus neeg rau zaub mov thiab tus neeg siv khoom. Cov kev sib txuas no xa lub plawv dhia, uas yog siv los saib xyuas tus neeg siv cov xwm txheej ua haujlwm.
End-to-End Privacy
End-to-end encryption yog qhov tseem ceeb uas ua kom ntseeg tau tias tsuas yog cov neeg siv sib tham tuaj yeem nyeem cov kev sib txuas lus. Tus yuam sij rau pej xeem tau muab faib rau txhua tus neeg siv koom nrog hauv kev sib txuas lus thiab tseem ceeb heev rau kev txhawb nqa End-to-End encryption. Xav tias muaj ob tus neeg siv ntawm lub channel, Jay, thiab Aayush, uas sib txuas lus nrog ib leeg.
Jay muaj Aayush tus yuam sij rau pej xeem, thiab Aayush muaj Jay tus yuam sij rau pej xeem nrog rau lawv tus yuam sij tsis sib koom. Yog li ntawd, thaum Jay xa cov lus, nws encrypts nws nrog Aayush tus yuam sij pej xeem, uas tsuas yog txiav txim siab nrog Aayush tus yuam sij ntiag tug.
Ib yam li ntawd, Jay tsuas yog tuaj yeem txiav txim siab Aayush txoj kev sib txuas lus. Yog li ntawd, tsuas yog Jay thiab Aaysuh thiaj tuaj yeem pom kev sib txuas lus, thiab lub server tsuas yog ua haujlwm raws li lub rooj vag hauv tag nrho cov txheej txheem.
5. Lub raj mis
Txhua qhov system yog feem ntau malfunction. Txhawm rau tswj hwm cov tsheb loj li no, cov kev pabcuam yuav tsum nyob twj ywm ua haujlwm thiab ua haujlwm tsis raug txhua lub sijhawm kom tsis txhob muaj fwj. Vim tias peb cov kev pabcuam yog vam khom rau ntawm Chat thiab Transient servers, peb yuav tsum daws txhua yam teeb meem uas tshwm sim los ntawm lawv txoj haujlwm.
Ua tsis tiav ntawm Chat Server: Qhov no yog lub plawv ntawm peb lub cev. Thaum cov neeg siv nyob online, nws yog lub luag haujlwm rau kev tswj hwm thiab xa cov lus. Yog li ntawd, qhov system no tswj kev sib txuas nrog nws cov neeg siv.
Yog li ntawd, yog tias qhov kev pabcuam no ua tsis tiav, tag nrho cov architecture yuav raug kev txom nyem. Muaj ob txoj hauv kev los tswj qhov tsis ua haujlwm ntawm kev sib tham server. Ib txoj hauv kev yog hloov TCP kev sib txuas mus rau lwm tus neeg rau zaub mov, thaum lwm tus yog tso cai rau cov neeg siv pib kev sib txuas tau txais thaum muaj kev sib txuas poob.
Ua tsis tiav ntawm Kev Cia Siab: Lwm cov khoom ua rau tsis ua hauj lwm uas yuav ua rau tag nrho cov kev pabcuam puas tsuaj yog kev cia ntev. Cov lus nyob rau hauv txoj kev mus rau cov neeg siv offline ploj yog tias qhov kev pabcuam no ua tsis tiav.
Peb tuaj yeem tiv thaiv cov lus poob los ntawm kev rov ua dua txhua tus neeg siv lub sijhawm cia. Raws li qhov tshwm sim, cov ntawv luam tawm tuaj yeem ua haujlwm los ua cov haujlwm thaum twg tus neeg siv rov qab online. Yog tias tus thawj server nkag mus tau, ob qho tib si thawj thiab cov piv txwv ntawm tus neeg siv lub sijhawm hloov pauv tau muab tso rau hauv ib lub khw.
6. Cov txheej txheem ua kom zoo
Latency: Txhawm rau xa cov neeg siv khoom zoo thiab txhim kho kev paub dhau los, kev pabcuam xa xov yuav tsum yog lub sijhawm tiag tiag. Yog li ntawd, latency yuav tsum raug txo los ntawm caching ib feem ntawm cov ntaub ntawv uas nquag nkag. Peb tuaj yeem cache cov neeg siv kev ua ub no thiab kev sib tham tsis ntev los no hauv kev nco siv lub cache faib xws li Redis.
muaj: Peb xav tau peb cov kev pabcuam kom muaj feem ntau ntawm lub sijhawm. Peb lub kaw lus yuav tsum ua txhaum, yog li peb tuaj yeem khaws ntau cov ntawv luam ntawm cov lus hloov pauv kom txhua cov lus uas ploj tuaj yeem rov qab tau sai ntawm nws cov duplicates. Yog li ntawd, qhov system muaj tsis tuaj yeem raug puas tsuaj.
xaus
Peb lub kaw lus tam sim no tsuas yog txhawb nqa ob peb lub peev xwm xwb, tab sis peb tuaj yeem nthuav nws yooj yim ntxiv rau kev sib tham hauv pawg los faib cov lus rau ntau tus neeg. Koj tseem tuaj yeem muab cov peev txheej video thiab xov tooj. Cov kab ke no tseem tuaj yeem tsim kho xws li cov neeg siv tuaj yeem tshaj tawm cov xwm txheej hloov tshiab lossis cov lus piav qhia thiab nyeem ib leeg.
Kuv tau ua hauj lwm nyuaj los muab koj cov ntsiab lus siab ntawm WhatsApp tsim qauv. Kuv vam tias koj txaus siab rau nws thiab yuav siv nws zoo.
Sau ntawv cia Ncua