Atọka akoonu[Fipamọ][Ifihan]
Ifunni Instagram jẹ pẹpẹ fun pinpin ati sisopọ pẹlu eniyan ati awọn nkan ti o ṣe pataki si ọ. Nigbati o ba ṣii Instagram tabi sọ ifunni rẹ sọtun, awọn fọto ati awọn fidio ti a ro pe iwọ yoo nifẹ si yoo ṣafihan si oke.
Ifunni iroyin jẹ akojọpọ awọn ohun kan ti o ni ọrọ ninu, awọn aworan, tabi awọn fidio ti a ṣẹda nipasẹ awọn ẹda miiran ninu eto ti o ni ifọkansi fun ọ lati ka. O n yipada nigbagbogbo, lakoko ti awọn ajo miiran n ṣe awọn ifiweranṣẹ tuntun.
Ninu ifiweranṣẹ yii, a yoo wo ni pẹkipẹki apẹrẹ eto ti kikọ sii Instagram. Nitorinaa, jẹ ki a bẹrẹ.
1. Awọn ibeere
Iṣe dandan
- Awọn kikọ sii iroyin olumulo ni a ṣẹda lati awọn ifiweranṣẹ lati awọn nkan miiran ninu eto ti olumulo ti tẹle tabi nifẹ si.
- Ọrọ, awọn aworan, ati awọn fidio le gbogbo wa ni awọn ifiweranṣẹ.
- Kikọ sii iroyin olumulo yẹ ki o ṣe imudojuiwọn pẹlu awọn ifiweranṣẹ tuntun ti awọn miiran ṣẹda.
Apeere ti kii ṣe iṣẹ
- Awọn ẹda ti awọn kikọ sii iroyin yẹ ki o waye ni akoko gidi. Olumulo ipari yẹ ki o ni iriri awọn aaya 12 nikan ti idaduro.
- Fifiranṣẹ ifiweranṣẹ tuntun: Ko yẹ ki o gba diẹ sii ju awọn aaya 5 fun ifiweranṣẹ tuntun lati han ninu ibeere kikọ sii iroyin lẹhin ti o ti fi silẹ si eto naa.
2. Ifoju Agbara
- Ni Oṣu Kẹta ọdun 2021, awọn olugbe agbaye jẹ eniyan bilionu 7.8 nikan. O tọka si pe 21% ti awọn olugbe agbaye jẹ Facebook DAU (Olumulo Lojoojumọ) ati 32% jẹ MAU Facebook (Oṣooṣu Aṣiṣẹ lọwọ) (Oníṣe Nṣiṣẹ lọwọ oṣooṣu). Iyalẹnu niyẹn.
- Jẹ ki a dibọn pe eto ti a n ṣe ni 1 bilionu DAU lati jẹ ki awọn nkan rọrun.
- Ro pe eniyan kan tẹle awọn eniyan 500 tabi awọn iṣowo lori Facebook. Ẹgbẹ kan tabi oju-iwe kan le jẹ nkan kan.
Ifoju Traffic
Ro pe olumulo kan ṣe igbasilẹ ifunni iroyin ni igba mẹwa ni ọjọ kọọkan ni apapọ. Nitorinaa o jẹ aijọju 10K QPS ati awọn ibeere 116e1 lojoojumọ.
Awọn iṣiro ti Ibi ipamọ
Ro pe a ṣetọju awọn ifiweranṣẹ 500 lati ifunni iroyin olumulo kọọkan ni iranti ni apapọ fun igbapada ni iyara, ati ifiweranṣẹ kọọkan jẹ 1KB ni iwọn. Nitorinaa 500 KB fun olumulo kan, 500 TB fun gbogbo awọn DAU, ati awọn kọnputa 5000 pẹlu 100 GB Ramu kọọkan.
3. APIs fun Systems
userId (GUID): olumulo ti o ti n gba ifunni iroyin.
Awọn aaye wọnyi wa ninu paramita awọn aṣayan aṣayan:
- afterPostId (GUID): gba ifunni iroyin lati ifiweranṣẹ ti o tẹle eyi. Ti ko ba ṣe pato, gba awọn ifiweranṣẹ to ṣẹṣẹ julọ.
- ka (nọmba): awọn ti o pọju nọmba ti posts ti kọọkan ìbéèrè le pada. Afẹyinti ṣeto nọmba ti o pọju aiyipada ti ko ba si.
- excludeReplies (boolean): ṣe idilọwọ awọn idahun lati wa ninu kikọ sii iroyin.
- JSON ti o pada ni atokọ ti awọn nkan ifunni iroyin ni ninu.
4. Ṣiṣeto aaye data
Awọn nkan
- User
- entityId, orukọ, apejuwe, ati timestamp jẹ gbogbo awọn aaye ti a beere.
- Awọn aaye wọnyi ni o nilo: PostId, akọle, ọrọ, authorId, ati timestamp.
- timestamp, url, ati mediaId
ibasepo
- Awọn olumulo miiran tabi Awọn ẹya le jẹ atẹle nipasẹ olumulo kan. (m:n)
- Onkọwe-Iweranṣẹ: Awọn olumulo mejeeji ati awọn nkan le ṣẹda awọn ifiweranṣẹ. Ro pe Awọn olumulo nikan le ṣẹda Awọn ifiweranṣẹ nitori irọrun. (1: n; authorId jẹ ifibọ).
- Ifiweranṣẹ kọọkan wa pẹlu diẹ ninu iru media. (1:n)
5. Apẹrẹ Ipele giga
faaji
Awọn iṣẹ-ṣiṣe
Ifunni iṣelọpọ
Nigbati Jay ba beere ṣiṣan iroyin rẹ, eto naa yoo ṣe atẹle naa:
- Gba awọn ID ti gbogbo eniyan ati awọn nkan ti Jay tẹle.
- Awọn ifiweranṣẹ apapọ: fun awọn ID wọnyẹn, gba aipẹ julọ, olokiki, ati awọn ifiweranṣẹ ti o yẹ.
- Ṣe ipo awọn ifiweranṣẹ ni ibamu si ibaramu ati akoko wọn.
- Kaṣe: ṣafipamọ awọn kikọ sii ti o ṣẹda ati firanṣẹ Jay awọn ifiweranṣẹ 20 ti o ga julọ.
- Nigbati Jay ti pari kika awọn ifiweranṣẹ 20 akọkọ, ibeere miiran ni a firanṣẹ lati gba awọn ifiweranṣẹ 20 atẹle.
Pinpin kikọ sii
Ro pe Jay n tẹle Aayush ati pe Aayush firanṣẹ ohunkohun titun. Ifunni iroyin Jay yoo nilo lati ni imudojuiwọn nipasẹ eto naa:
- Gba awọn ID ti awọn ọmọlẹhin Aayush pada.
- Ṣafikun awọn nkan tuntun: Ṣafikun ifiweranṣẹ Aayush si adagun ifunni iroyin ti awọn ọmọlẹhin ID wọnyẹn.
- Ṣe ipo awọn ifiweranṣẹ ni ibamu si ibaramu ati akoko wọn.
- Ṣe imudojuiwọn kaṣe ti ifiweranṣẹ ipo.
- Awọn ọmọlẹyin yẹ ki o wa iwifunni nigbati awọn ifiweranṣẹ tuntun ba ti tẹjade.
irinše
Awọn isopọ olumulo jẹ itọju nipasẹ awọn olupin wẹẹbu.
Awọn ilana ti o tọka si loke jẹ ṣiṣe nipasẹ olupin ohun elo.
Kaṣe ati ibi ipamọ data:
- Ibasepo database olumulo / nkankan
- Ibi ipamọ data ibatan (ifiweranṣẹ)
- Aworan/fidio eroja: Aayush storge
- Awọn metadata database ibatan
Awọn iṣẹ ti ara ẹni:
- Ifunni iṣelọpọ
- Iwifunni ti awọn kikọ sii
6. Apẹrẹ alaye
Iran ti kikọ sii
Fan-jade ka rọrun imuse:
Awọn iṣoro pẹlu imuse alailoye yii pẹlu:
- Awọn olumulo pẹlu nọmba nla ti awọn ọrẹ/awọn ọmọlẹyin yoo ṣe akiyesi idinku pataki nitori a gbọdọ ṣa, dapọ, ati ipo nọmba nla ti awọn ifiweranṣẹ.
- Nigbati olumulo kan ba gbe oju-iwe wọn, a ṣe agbekalẹ aago naa. Eyi le jẹ onilọra ati ki o ni lairi pupọ.
- Imudojuiwọn ipo kọọkan yoo ja si awọn imudojuiwọn kikọ sii fun gbogbo awọn ọmọlẹyin fun awọn imudojuiwọn laaye. Eyi le fa awọn idaduro to ṣe pataki ni Iṣẹ Ipilẹṣẹ Iroyin.
A le ṣaju-ipilẹṣẹ akoole ati fipamọ sinu iranti lati mu iṣẹ ṣiṣe pọ si.
Ṣiṣejade ni aisinipo (Kọ-afẹfẹ jade)
A le ni awọn olupin ifiṣootọ ti o n ṣẹda nigbagbogbo ati titoju awọn kikọ iroyin olumulo ni iranti. A le kan jiṣẹ ifunni iroyin lati ipilẹṣẹ tẹlẹ, ipo ti o fipamọ nigbakugba ti olumulo kan ba fẹ.
Awọn ohun kikọ sii melo ni o yẹ ki ifunni olumulo kan wa ni ipamọ ni iranti?
Ṣe adaṣe da lori ihuwasi lilo rẹ.
Ṣe o yẹ ki a ṣe ifunni iroyin fun gbogbo awọn olumulo (ki o tọju rẹ ni iranti)?
- Fun awọn eniyan ti ko wọle nigbagbogbo.
- Caching orisun LRU jẹ ọna ti o rọrun.
- Ojutu ti o dara julọ ni lati ro ero bi awọn olumulo ṣe wọle. Nigbawo ni? Awọn ọjọ ọsẹ wo ni o n sọrọ nipa?
Atejade ti kikọ sii
Fanout jẹ ilana ti fifiranṣẹ ifiweranṣẹ si gbogbo awọn ọmọlẹyin rẹ.
Ka (fa)
Nigbati o ba beere fun kikọ sii iroyin, eto naa gba ibeere kika. Kika Fanout nfi ibeere kika ranṣẹ si gbogbo awọn ọmọlẹyin rẹ, bibere wọn lati ka akoonu wọn.
Pros:
- Ilana kikọ jẹ ilamẹjọ.
- Nigbati o ba nka data, o rọrun lati lo ọpọlọpọ awọn algoridimu akojọpọ.
konsi:
- Fun eniyan ti o ni ọpọlọpọ awọn ọmọlẹyin, iṣẹ kika jẹ gbowolori kuku.
- Awọn olumulo yoo ko ri alabapade data titi ti won fa o.
- Nigba ti a ba fa lati mu awọn ifiweranṣẹ aipẹ julọ ni igbagbogbo, o nira lati wa cadence fa ti o tọ, ati pe awọn ibeere fa pupọ julọ yoo da idahun ti o ṣofo pada, jafara awọn orisun.
Kọ (titari)
A ṣe ibeere kikọ si eto nigbati o ba fi ifiweranṣẹ tuntun ranṣẹ. Ibeere kikọ naa ni a firanṣẹ si gbogbo awọn ọmọlẹyin rẹ lati ṣe imudojuiwọn ifunni iroyin wọn nipa lilo kikọ fanout.
fun
- Ilana kika jẹ ilamẹjọ.
con
- Fun olumulo pẹlu milionu ti omoleyin, awọn kọ ilana jẹ ju gbowolori.
Awọn ipo ti awọn Feed
Dipo ki o kan paṣẹ awọn kikọ sii ni ọna kika-ọjọ, awọn algoridimu ipo ode oni tun n gbiyanju lati ṣe iṣeduro pe awọn ohun kan pẹlu ibaramu nla ni pataki.
- Yan awọn okunfa ti o le ṣe iranlọwọ fun ọ lati pinnu ibaramu ti nkan kikọ sii, gẹgẹbi nọmba awọn ayanfẹ, awọn asọye, ati awọn ipin, akoko ti nkan naa jẹ imudojuiwọn kẹhin ti nkan naa ba ni awọn fọto tabi awọn fidio, ati bẹbẹ lọ.
- Ṣe iṣiro Dimegilio da lori awọn abuda.
- Lo Dimegilio lati ṣe ipo awọn ifiweranṣẹ.
Ṣeto awọn KPI bii idaduro olumulo, owo oya ipolowo, ati bẹbẹ lọ lati rii bi eto ipo ipo wa ṣe munadoko.
ipari
Bi o ti jẹ pe Instagram tabi iṣowo obi rẹ Facebook jẹ ile-iṣẹ nla kan, o ni oye ti o dara julọ apẹrẹ eto.
Mo gbiyanju pupọ julọ lati fun ọ ni akopọ ipele giga ti kikọ sii Instagram.
Mo nireti pe o ṣe iranlọwọ ati pe iwọ yoo lo si lilo to dara.
Fi a Reply