Table of Contents[Hide][Show]
Whatsapp est socialis nuntius programma, quod permittit utentes nuntiis inter se permutare.
Have vos umquam considerari quomodo whatsapp opera?
Quaenam sunt notiones quae suam creationem et operationem subigunt?
Hoc articulum ibo per basics of whatsapp systema design.
Etiam per architecturam whatsapp generalem pergemus, quae ad quemlibet modum chat programmatum aedificare potest.
Itaque, sine ulteriori cura, inspice whatsapp scriptor systematis consilium!
1. Key Requirements
Whatsapp technology est valde scalabile quod a multis toto orbe terrarum adhibetur. Quam ob rem bene dispositum debet esse virtualiter semper constans et actuositas.
Quam ob rem ratio criticas necessitates determinans critica est.
Hi sunt minimum requisitis ad whatsapp nuntius:
- Capax expediendi unum in unum interactiones.
- Nuntius agnitionis et ultimi visus utrumque possibilis est (Sentus, Liberatus et Lectus).
- Patitur finem-ad-finem encryption et media subsidia (images/videos).
Investigemus quantum capacitas nostra necessaria servitii postulat.
2. Capacitas habendis
Propositum nostrum est suggestum creare magnum negotiationis tractandi capacitatem. Fac quod 10 miliarda SMS per diem mittantur. Comperto:
- Quotidie, 10 miliarda SMS ab uno miliario hominum mittuntur.
- Ad apicem negotiationis (per secundam), 700,000 homines activae (6X mediocris)
- Per apicem usus, 40 miliones nuntii secundo per transmittuntur.
- Mediocris longitudo nuntii CLX characteribus est: 160B * 10 = 160TB notitiarum cotidie generatur.
- Exemplum sume decem annos servitii: 10 * 1.6B* 365 PB
- Tota applicatio efficietur ex microserviis, quarum singula munus speciale exercebit. Fac quod nuntium mittens 20 milliseconds accipere et centum nexus concurrentium per servo esse. Quam ob rem expectatus numerus chat servientium desideratus = (sermones per secundam Latency) concurrentes nexus per servo = 100M * 40ms / 20 = 100 ministrantium.
3 Archi-gradu architecturae
Haec ratio duobus nucleis officiis aedificatur. Curabitur ac facilisis enim. Ministerium chat omnia negotiationum generatur nuntiis interretialibus utentium. Simul, officium temporale negotiatio tractat cum usor offline est.
Si usor in retibus est, opera chat nuntiis tradendis praeest.
Probabitur utrum recipientis nuntii online sit necne; si recipiens online est, hoc officium statim nuntium tradet; si recipiens non est online, ministerium transitorium nuntium ad eos mittet cum online redeunt.
Ministerium transitorium separatum tabularium servat ad data temporarie pervia servans usque ad usoris offline reconnects.
Designing High-Level APIs
Hoc officium duos gradus summus operandi APIs habet ad nuntios mittendi et legendi. Systema perficiendum utens reliquis architecturae potest.
Parametri mittendis
Hoc API inter duos utentes nuntiis transmittendum erit.
Parametri colloquii
API hoc usus est ad chats stamineas proponere. Hoc primum vides, cum whatsapp aperis. Tantum volumus paucas epistulas unius usoris in uno API interrogatione accipere. Ad hoc tractandum opus est cinguli et nuntius parametri computandi.
Quae sunt functiones linearum similium novissime visae, unius ricini et ricini duplex?
Praecipuum munus in his officiis instruere agnitio est muneris. Hae notae explicatae sunt quia hoc officium pergit responsa agnitionis generare et cognoscere.
- unum tick: Cum nuntius ab User A ad User B pervenit, minister ricinum unum mittit agnoscens nuntium transmissum esse.
- Geminus tick: Post proprium nuntium ad User B per nexum missum, User B agnoscet acceptum nuntium servo. Minister tunc praebebit User A cum alia agnitione. Quam ob rem duplicata ricinum apparebit.
- bluetick: User B aliam agnitionem servo mittet postquam nuntium iniecta est. Servo tunc mittet User A additionem agnitionis nuntium mittet. ricinum caeruleum in screen A User A postea apparebit.
- novissime viderat: Mechanismus pulsatio tota responsabilis est pro ultimo pluma visa. Singulis 5 secundis, cordis pulsatio ad ministratorem transmittitur, quae vestigia servat uniuscuiusque usoris ultimi status visae in mensa, quae facile ab alio usore accedere potest.
4. designans clavis features
Privatum commercium
Pars haec est necessaria in Chat servitio. A user simpliciter epistulas ad alium usorem mittere potest hoc ministerio utens. Videamus quomodo haec opera:
Sumatur Jay cum Aayush communicare vult. Jay coniungitur cum servo chat cum quo nuntium accipit. Jay confirmationem accipit a servo chat nuntium dimissum est. Servus chat nunc petit informationes e notitia copia de servo chat cui Aayush iungitur. Chat Jay server nunc nuntium ad chat Aayush servo tradit, et Aayush nuntium accipit per mechanismum impulsum. Aayush nunc agnitionem mittit servo chat Jay, quod Jay notificat nuntium traditum esse. Si Aayush nuntium iterum legit, nova agnitio nuntium recitatum esse Jay traditum est.
Status autem User Actio
Novissimum tempus persona activa est regularis notae instantis nuntii.
Systema conservandi nexum inter clientem et servitorem in hoc schemate depingitur. Bases interretae adhibebantur ad nexum bidirectionem constituendum inter servientem et clientem. Hae nexus pulsationes mittunt, quae ad statum actionis utentis monitorem adhibentur.
Finis-ad-finem Privacy
Ad finem encryption "praecipuum" est quod efficit ut soli colloquii utentes legere possint communicationes. Clavis publica communis inter omnes usores communicationis implicatas est et critica est ad finem encryption sustinendum. Pone duos esse utentes in canali, Jay et Aayush, qui inter se communicant.
Jay Aayush clavem publicam habet, et Aayush clavis publicas Jay necnon clavis privatas non communicavit. Quam ob rem, cum Jay nuntium transmittit, illam cum clavis publica Aayush encryptis, quae solum cum clavis privatis Aayush decoqui potest.
Similiter Jay tantum communicationem Aayush decoquere poterit. Quam ob rem, solum Jay et Aaysuh inter se communicationes videre poterunt, et minister iustus munus portae in toto processu habebit.
5. Bottlenecks
Omnis ratio malfunction prona est. Ad tam magnum volumen negotiationis administrandum, servitium operationis et culpae patientis omni tempore manere debet ut lagunculas vitet. Quia servitium nostrum in servientibus Chat et Transientibus plane fidet, debemus solvere omnes quaestiones quae ex eorum operatione oriuntur.
Defectum in Chat Servo: Haec est cordis nostri ratio. Cum utentes online, responsabile est nuntiare et nuntiare. Quam ob rem haec ratio nexus cum suis utentibus conservat.
Quam ob rem, si hoc officium fallit, totum architectura patietur. Duae sunt aditus ad defectum ministri chat administrandi. Una methodus est TCP hospites ad alium servo transferre, alius vero permittat utentes utentes sponte in eventum nexus amissi incipiant.
Defectum Transiens PRAECLUSIO: Alia pars prona ad defectum, quae tandem totam servitutem repositionis corrumpit. Mandata in itinere ad utentes offline pereunt si hoc officium fallit.
Nuntium damnum impedire possumus replicando singulas tabulas usoris temporalis. Quam ob rem effigies ad functiones processuras adhiberi potest quoties usor in online redit. Si servo originalis accessibilis fit, instantiae originalis et effigies transitoriae utentis in unum reponunt.
6. Optimization artes
Virus: Inconsutilem et emendatam clientem experientiam eripere, nuntius verus tempus esse debet. Quam ob rem, latency reducendae sunt in caching parte notitiarum saepe accessorum. Status usoris activitatem cache possumus et colloquia recentia in memoria uti cache distributi sicut Redis.
Availability: Operae nostrae opus est ut pluribus temporis praesto sit. Nostra ratio culpae tolerabilis esse debet, ita plura exemplaria nuntiis transitoriis servare possumus, ut quaelibet nuntius perditus cito e suis duplicatis recuperari possit. Quam ob rem, disponibilitas systematis periclitari non potest.
Conclusio
Systema nostra nunc paucas facultates sustinet, sed facile eam augere possumus ut sermones sodalitatis adiungat, ut nuntios pluribus hominibus distribuat. Potes etiam praebere video et telephonicas facultates. Haec ratio etiam enucleari potest ut utentes status updates vel narrationes edere possint et se invicem legere.
Summus gradus contemplatione te laboravi providere ratio consilii whatsapp. Spero te frui et bene uti.
Leave a Reply