Table of Contents[Hide][Show]
Instagram Nutritor suggestum est communicandi et connectendi cum populo et rebus quae ad vos pertinent. Cum Instagram aperis vel pascis reficis, imagines et videos putamus te esse curae in summo versus ostende.
Nuntium feed est collectio rerum continens textum, imagines, vel videos ab aliis entibus in systematis quae iaculis pro te legenda sunt creata. Semper mutatur, dum ceterae Institutae novas stationes faciunt.
In hoc poste, diligentius inspiciemus de Instagram ratio pascendi. Incipiamus igitur.
1. Requirements
Eget necessitate
- Nuntium usoris cibarium creatur e nuntia ex aliis entibus in systemate quod usor secuta est vel cuius interest.
- Textus, picturae et videos omnes in postibus inveniri possunt.
- Nuntium usoris cibarium renovari debet cum novis commentationibus ab aliis creatis.
Non-muneris criterium
- Nuntium creatio tempore reali fieri debet. Finis-usoris tantum XII secundis morae experiri debet.
- Appendatio nova post: Non plus quam 5 seconds debet accipere pro nova nuntia ut in nuntio cibariorum petitionem compareat postquam systemati subiciatur.
2. De aestimatione capacitatis
- Sicut Martii 2021, multitudo mundi 7.8 miliarda hominum est iustus. Indicat 21% incolarum mundi esse Facebook DAU (Usor quotidianus) et 32% Facebook esse MAU (monthly activum User) (Monthly Active User). Mirum id est.
- Praetexamus rationem quam fingimus has 1 sescenti DAU ad faciliora reddenda.
- Pone hominem 500 homines vel negotia in Facebook. Coetus vel pagina considerari potest res.
Aestimari traffic
Pone unum user downloads nuntium pascere 10 vicibus per singulos dies in mediocris. Ita fere 116K QPS et 1e10 cotidie petit.
Aestimationes repono
Pone ponemus 500 nuntia ab unoquoque nuntio usoris cibaria in memoria in mediocris pro vivos retrievales, et unumquodque postum est 1KB in magnitudine. Itaque 500 KB per usorem, 500 TB pro omnibus daUs, ac 5000 computatra cum 100 GB RAM inter se.
3. APIs ad Systems
userId (GUID): utens cuius nuntium pascuntur arcessuntur.
Sequentes agri praesto sunt in parametro optionum optionum ad libitum:
- afterPostId (GUID): nuntium pasce a poste sequenti hoc unum. Si non specificatur, tabellas recentissimas obtine.
- numerare (number): maximus numerus nuntia ut quaeque petitio redire possit. Posterior numerus maximus defaltam si nemo suppletur.
- excludeReplies (Boolean): responsa prohibent ne includantur in cibario nuntiorum.
- JSON rediit indicem rerum nuntiorum cibarium continet.
4. Cogitans a Database
rerum
- User
- Entityd, nomen, descriptio, et indicatione sunt omnes agri requirendi.
- Sequentia agri requiruntur: PostId, titulus, textus, authorId, et indicatione temporis.
- indicatione, url et mediaId
relationes
- Aliae User vel Entitates sequi possunt a user. (m:n)
- Author-Post: Ambae utentes et entia nuntia creare possunt. Pone solum Users Postas creare posse simplicitatis causa. (1: n, authorId est embeddable).
- Quisque post aliquam formam instrumentorum communicationis socialis comitatur. (1:n)
5. Summus Level Design
Architecture
workflows
Feed productio
Cum Jay nuntium suum rivum petierit, ratio sequentia faciet;
- Recipe IDs omnium hominum et quae Jay sequitur.
- Stipes aggregatus: datis IDs, obtinent tabellas recentissimas, populares et pertinentes.
- Praepone stationes pro eorum congruentia et leo.
- Cache: servate creatos pascit et mitte Pica tecta 20 postes.
- Cum Jay complevit primam 20 epistulam legere, alia postulatio ad proximos 20 postes mittitur.
Pasce distributionem
Assume Jay insequens Aayush et Aayush aliquid novi nuntiat. Jay nuntium cibarium a systemate renovandum necesse erit:
- Recuperare IDs de Aayush sectatoribus.
- Novas articulos adde: Aayush epistulam addere ad nuntium pascendi piscinam sectatorum IDs illorum.
- Praepone stationes pro eorum congruentia et leo.
- Renova cella in ordinem post.
- Sectatores notificari debent cum novae divulgationes nuntiantur.
Components
Connexiones usorum a servientibus interreti aluntur.
Modi supra indicati per applicationem servo exsecuti sunt.
Cache et database:
- Relational database user / ens
- Relational database (post)
- Imago / video attributum: Aayush storge
- Relational database metadata
Proprium confinia:
- Feed productio
- Notification ex feeds
6. Detailed Design
Generatio feed
Fan-e legere rustica implementation:
Problemata cum hoc imperito exsecutione includunt:
- Usores cum magno numero amicorum/sequentium notabilem tarditatem animadvertent cum nos cribrare, mergere et magnum numerum commentitionum aequare debemus.
- Cum paginam usoris onerat, timeline construimus. Hoc pigri potest esse, et multum latenter habere.
- Quisque status renovatio proveniet in updates pascuis omnibus sectatoribus ad vivas updates. Hoc potest causare notabiles moras in servitio nostro Newsfeed Generationis.
Possumus prae-generare chronologiam et eam conservare in memoria ad augendam efficientiam.
Online Productio (Fan-e scribe)
Ministris dedicare possumus qui continenter creant ac recondunt usorum nuntia in memoria. Modo nuntium cibarium ex prae-generato liberare possumus, locus servatus quoties id usor cupit.
Quot res pascendi debet in memoria reponi usoris?
Accommodare ad mores tuos usus.
Nunquid nuntiationem facere debemus pro omnibus utentibus (et memoriam conservare)?
- Pro hominibus non saepissime aperi.
- LRU-dicentur caching simplex aditus.
- Melior solutio est figurare quomodo users aperi in. Quando est? Quod feriis dicis?
Publication of feed
Fanout processus cursorium ad omnes tuos sequaces mittendus est.
Fanout legere (traho)
Cum nuntium petis feed, ratio petitionem legere accipit. Fanout legere mittit petitionem ad omnes tuos sequaces legere, rogans ut contenta sua legat.
Pros:
- Ratio scribendi vilis est.
- Cum data lectione, facilius variis algorithmis aggregatio uti potest.
Cons:
- Multum enim homo cum sectatoribus, operatio lectio magis carus est.
- Users notitias novas non videbunt donec eam traherent.
- Cum recentissimas commentationes in regulari fundamento arcessere velimus, difficile est invenire clausulam propriam trahendi, et plurimae petitiones trahere responsum inane reddent, opes vastantes.
Fanout scribentes injustitiam (dis)
Petitio scribenda fit rationi cum novam cursorem mittas. Petitio scribenda ad omnes tuos discipulos missa est ut eorum nuntium e scribendo fanout renovandum.
quia
- Processus legere vilis est.
cunt
- Pro a user cum decies centena millia sectatorum scribo res nimis cara est.
Ordo Feed
Loco modo chronologice pascitur ordinatio, algorithmorum ordo hodie insuper spondere conantur res cum maiore congruentia prioritas esse.
- Elige factores quae iuvare possunt ad congruentiam pascendi item, sicut numerus similium, commentorum et partium, tempus renovatum est si articulus continet imagines vel videos, et sic porro.
- Computa score secundum characteres.
- Utere titulo ad gradum cursores.
Constitue KPIs sicut retentione usuarii, ad reditus, et sic inspicias quomodo ratio nostra efficax sit.
Conclusio
Non obstante quod Instagram vel parentem suum negotium Facebook ingens corporation est, melius intellectum habet ratio consiliorum.
Conatus sum maxime te prodere maxime gradu summae Instagram cibarium.
Spero utilem esse et te bene uti.
Leave a Reply