ν νμ΄μ§ μ€μμ μ§μμ μΌλ‘ μ λ°μ΄νΈ λλ μ€ν 리λ€λ‘,
μ¬μ©μ μν μ 보 μ λ°μ΄νΈ, μ¬μ§, λΉλμ€, λ§ν¬, μ± νλ(app activity), κ·Έλ¦¬κ³ νμ΄μ€λΆμμ νλ‘μ°νλ μ¬λλ€, νμ΄μ§, λλ κ·Έλ£ΉμΌλ‘λΆν° λμ€λ 'μ’μμ(likes)' λ±μ ν¬ν¨νλ κ²
λΉμ·ν μ νμ λ¬Έμ λ‘ νμ΄μ€λΆ λ΄μ€ νΌλ
, μΈμ€νκ·Έλ¨ νΌλ
, νΈμν° νμλΌμΈ
μ€κ³ λ±μ΄ μλ€κ³ νλ€.
λͺ¨λ°μΌ μ±, μΉ
λͺ¨λ μ§μν΄μΌν¨μκ° νλ¦ μμ(reverse chronological order)
μΌλ‘ : μ΅μ μ
5000λͺ
μ μΉκ΅¬λ₯Ό κ°μ§ μ μμ1,000λ§λͺ
μ΄λ―Έμ§
λ λΉλμ€
μ€ν 리λ μ¬λΌμ¬ μ μμ1) νΌλ λ°ν(feed publishing) κ³Ό
μ¬μ©μκ° μ€ν 리 ν¬μ€ν νλ©΄ ν΄λΉ λ°μ΄ν°λ₯Ό Cacheμ DBμ κΈ°λ‘.
μ ν¬μ€ν μ μΉκ΅¬μ λ΄μ€νΌλμλ μ μ‘
2) λ΄μ€ νΌλ μμ±(news feed building)
λͺ¨λ μΉκ΅¬μ ν¬μ€ν μ μκ° νλ¦ μμμΌλ‘ λͺ¨μμ μμ±
μ λκ°μ§ λΆλΆμΌλ‘ λλμ΄μ Έ μμ
1) νΌλ λ°ν API (HTTP POST ννλ‘ μμ²μ 보λ΄λ©΄ λ¨)
2) νΌλ μ½κΈ° API (HTTP GET ννλ‘ μμ²μ 보λ΄λ©΄ λ¨)
1) μΉ μλ²
μΈμ¦μ΄λ μ²λ¦¬μ¨ μ ν λ±μ΄ κΈ°λ₯λ μνν΄μΌ νλ€.
2) ν¬μ€ν μ μ‘(ν¬μμ) μλΉμ€
μ΄λ€ μ¬μ©μμ μ ν¬μ€ν
μ κ·Έ μ¬μ©μμ μΉκ΅¬ κ΄κ³μ μλ λͺ¨λ μ¬μ©μμκ² μ λ¬νλ κ³Όμ
ν¬μμμλ λ κ°μ§ λͺ¨λΈμ΄ μλλ°..
1. μ°κΈ° μμ μ ν¬μμ(fanout-on-write)νλ λͺ¨λΈ νΈμ(push)λͺ¨λΈ
μλ‘μ΄ ν¬μ€ν μ κΈ°λ‘νλ μμ μ λ΄μ€ νΌλ κ°±μ
μ₯μ
λ¨μ
ν«ν€(hotkey) λ¬Έμ
2. μ½κΈ° μμ μ ν¬μμ(fanout-on-read)νλ λͺ¨λΈ ν(pull)λͺ¨λΈ
μμ²(on-demand) λͺ¨λΈ. μ¬μ©μκ° λ³ΈμΈ ννμ΄μ§λ νμλΌμΈμ λ‘λ©νλ μμ μ μλ‘μ΄ ν¬μ€νΈλ₯Ό κ°μ Έμ€κ² λ¨.
μ₯μ
hotkey λ¬Έμ
λν λ°μνμ§ μλλ€.λ¨μ
κ·Έλμ?
λκ°λ₯Ό μμ΄μ κ°μμ μ₯μ λ§ μ»μ΄κ°λλ‘ ν΄λ³΄κ² λ€.
λλΆλΆμ μ¬μ©μμ λν΄μλ push λͺ¨λΈ
μ μ¬μ©νκ³ , μΉκ΅¬λ νλ‘μ΄(follower)κ° μμ£Ό λ§μ μ¬μ©μμ κ²½μ°μλ νλ‘μ΄λ‘ νμ¬κΈ ν΄λΉ μ¬μ©μμ ν¬μ€ν
μ νμν λ κ°μ Έκ°λλ‘ νλ pull λͺ¨λΈ
μ μ¬μ©ν΄μ μμ€ν
κ³ΌλΆν
λ₯Ό λ°©μ§ν΄λ³΄μ
μ΄λ―Έμ§λ λΉλμ€ κ°μ λ―Έλμ΄ μ½ν
μΈ λ CDN
μ μ μ₯νμ¬ λΉ¨λ¦¬ μ½μ΄κ° μ μλλ‘..
CDN
μ Content Delivery Network
μ μ½μλ‘ μ½ν
μΈ μ μ‘ λ€νΈμν¬λ₯Ό μλ―Ένλ€.
ν λ§λλ‘ λμμ λ± λ€μν μ½ν
μΈ λ₯Ό 볡μ‘ν λ€νΈμν¬ νκ²½μμ μ¬μ©μμκ² μμ μ μΌλ‘ μ μ‘ν΄ μ£Όλ μλΉμ€
κ°μ μ μλ.... κ·Έλμ λΌλμκ±ΈκΉμ....?
νμ΄μ€λΆ: λ΄μ€νΌλλ μ΄μ©μκ° μνλ μ½ν μΈ λ₯Ό μ΄λ»κ² μμΈ‘ν κΉμ?
μΉλ°λ μμΌλ‘ μ¬λ €μ£Όλ 건 μμλλ°..
1. λ°©λν μμ μλ£λ₯Ό μΉ κΈμ λ€μ
2. λ΄κ° μ’μμν κ² κΈ°λ°, μ’μμ λ§μ΄ λλ¬μ€ μ¬λ λ± μ 보λ₯Ό λ€ λͺ¨μμ
3. λ°μ΄ν°λ₯Ό μλλ°
4. λ λ΄κ° λκΈλ‘ ννμ λ§μ΄ νλμ§, μ’μμλ‘ ννμ λ§μ΄ νλμ§ μ΄λ° κ±Έ λΆμν΄μ
5. μ°μ μμ 맀긴 λ€μμ
6. μ’μν λ§ν κ²μκΈλ€μ μλ‘ μ¬λ €μ£Όλλ‘ ν΄λ¨λ€κ³ ν¨
β κΈ°μ μ μΌλ‘ μ΄λ»κ² λμκ°λμ§ κ³ λ―Όν΄λ³΄λ©΄ μ¬λ°μ κ±° κ°μμ π΅