λμ κ°μ λ©΄μ μ¬λ‘λ‘ λ°°μ°λ λκ·λͺ¨ μμ€ν μ€κ³ κΈ°μ΄ λ₯Ό λ³΄κ³ μ 리ν κΈμ λλ€.
λκ·λͺ¨ μ¬μ©μλ₯Ό κ°λΉν μ μλ μμ€ν μ μ€κ³νκΈ° μν μ§μλ€μ λν΄μ μ΄ν΄λ³΄μ.
π RDBMS vs NoSQL
RDBMSλ μλ£λ₯Ό ν μ΄λΈκ³Ό μ΄, μΉΌλΌμΌλ‘ νννλ€.
κ·Έλ¦¬κ³ SQLμ μ΄μ©ν΄ ν μ΄λΈμ μλ λ°μ΄ν°λ₯Ό, κ·Έ κ΄κ³μ λ°λΌ JOIN νμ¬ ν©μΉ μ μλ€.
π‘ μ νν λ μ€ν€λ§μ λ°λΌ ꡬ쑰νλμ΄ μ μ₯λκΈ° λλ¬Έμ, λ°μ΄ν°μ μΌκ΄μ±κ³Ό 무결μ±μ 보μ₯ν μ μλ€.
NoSQLμ λλμ λ°μ΄ν°λ₯Ό μ²λ¦¬νλλ° νΉνλμ΄ μλ€.
π‘ λ°μ΄ν°μ κ΅¬μ‘°κ° λΉμ νμ΄κ±°λ μμ£Ό λ§μ μμ λ°μ΄ν°λ₯Ό μ μ₯ν νμκ° μμ λ μ¬μ©νλ©΄ μ’λ€.
π Scale Up vs Scale Out
Scale Up μ μλ²μ κ³ μ¬μ μμμ μΆκ°νλ νμμ΄κ³ , Scale Outμ λ λ§μ μλ²λ₯Ό μΆκ°νμ¬ μ±λ₯μ κ°μ νλ νμμ΄λ€.
π¨ Scale Upμ ν λμ μλ²μ CPUλ λ©λͺ¨λ¦¬λ₯Ό 무νλ μ¦μ€ν μ μλ λ°©λ²μ΄ μκ³ , μλ²κ° ν λ μ΄κΈ° λλ¬Έμ μ₯μ μ λμ²νκΈ° μ΄λ ΅λ€.
π‘ λ°λΌμ, λκ·λͺ¨ μ¬μ©μκ° μ¬μ©νλ μ ν리μΌμ΄μ μλ Scale Outμ΄ μ ν©νλ€.
π μλ² · DB λ€μ€νμ λ‘λ λ°Έλ°μ
π‘ μλ²μ λΆμ°μ΄ νμν κ²½μ°λ λ€μκ³Ό κ°λ€.
- ν μλ²μ νΈλν½μ΄ λͺ°λ¦¬λ©΄, μ¬μ©ν μ μλ μμμ΄ νμ μ μ΄κΈ° λλ¬Έμ μ¬λ¬ μμ²μ μ²λ¦¬νλ €λ€κ° λ³λͺ©νμμ΄ μκΈ°κ±°λ μλ΅μλκ° λλ €μ§ μ μλ€.
- μμ€ν μ λ¬Έμ κ° μ겨 μλ²κ° λ€μ΄λλ κ²½μ°, λ°μ΄ν°λ₯Ό μ½κ±°λ μ¬μ©μκ° μλΉμ€λ₯Ό μ¬μ©νμ§ λͺ»νλ κ²½μ°κ° λ°μνλ€.
π‘ DB λΆμ°μ΄ νμν κ²½μ° μμ μ μ¬νλ€. μ₯μ λμ²μ μ±λ₯ ν₯μμ μν΄ λΆμ°νλ€.
μ°κΈ° μ°μ°λ§ μννλ Master DB μ μ½κΈ° μ°μ°λ§ μννλ Slave DB λ‘ λΆλ¦¬νλ€.
λλΆλΆμ μ ν리μΌμ΄μ μ λ³΄ν΅ μ‘°ν μμ μ΄ λΉλ²νκΈ° λλ¬Έμ Slave DBμ μκ° μΌλ°μ μΌλ‘ λ§κ²λ μ€κ³νλ€.
π‘ λ‘λ λ°Έλ°μλ νΈλν½ λΆν λΆμ°κ³Ό 보μ ν₯μμ μν μ νλ€.
μ¬μ©μλ λ‘λ λ°Έλ°μμ κ³΅κ° IP μ£Όμλ‘ μ μνλ€. κ·Έλ¦¬κ³ μλ²κ° ν΅μ μ 보μμ μν΄ κ°μ λ€νΈμν¬μ μν μλ² μ¬μ΄μ ν΅μ μλ§ μ°μ΄λ μ¬μ€ IP μ£Όμλ₯Ό μ΄μ©νλ€.
π μΊμ
μΊμλ μμ£Ό μ¬μ©λλ λ°μ΄ν°λ₯Ό λ©λͺ¨λ¦¬ μμ λμ΄, λ°μ΄ν°λ² μ΄μ€μ μ κ·Όνλ νμλ₯Ό μ€μ¬ μλ΅μλ κ°μ κ³Ό λ°μ΄ν°λ² μ΄μ€ λΆνλ₯Ό μ€μΌ μ μλ€.
π‘ DBμ μλ λ°μ΄ν°μ κ°±μ μ μμ£Ό μΌμ΄λμ§ μμ§λ§ μ°Έμ‘°(μ‘°ν)λ λΉλ²νκ² μΌμ΄λ λ μ¬μ©νλ©΄ μ’λ€.
π¨ λ¨, νλ°μ± λ©λͺ¨λ¦¬μ λλ―λ‘ μμμ μΌλ‘ 보κ΄ν νμκ° μλ λ°μ΄ν°λ₯Ό λλ κ²μ μ’μ§ μλ€.
κ·Έλ¦¬κ³ , μΊμλ₯Ό κ΄λ¦¬νλ μ μ± μ μ μΈμμΌ νλ€.
μΊμ λ§λ£ κΈ°νμ΄ λ무 짧μΌλ©΄, λ°μ΄ν° λ² μ΄μ€λ₯Ό λ무 μμ£Ό μ½κ² λμ΄ μ±λ₯ ν₯μ μ΄μ μ μ»κΈ° νλ€κ³
μΊμ λ§λ£ κΈ°νμ΄ λ무 κΈΈλ©΄, DB λ°μ΄ν°μ μ°¨μ΄κ° λ°μν μ μλ€.
λ°λΌμ, μ μ₯μμ μλ³Έμ κ°±μ νλ μ°μ°κ³Ό μΊμλ₯Ό κ°±μ νλ μ°μ°μ΄ λ¨μΌ νΈλμμ μΌλ‘ μ²λ¦¬λμ΄μΌ μΌκ΄μ±μ μ μ§ν μ μλ€.
π CDN
CDNμ μ μ μ½ν μΈ λ₯Ό μΊμνμ¬ μ μ‘νλλ° μ°μ΄λ λ€νΈμν¬μ΄λ€.
μ΄λ€ μ¬μ©μκ° μΉμ¬μ΄νΈμ λ°©λ¬Ένλ©΄, κ·Έ μ¬μ©μμκ² κ°μ₯ κ°κΉμ΄ CDN μλ²κ° μ μ μ½ν μΈ λ₯Ό μ λ¬νλ€.
μμ§ μΊμ±λμ΄μμ§ μμ κ²½μ°, μλ²μ μμ²νμ¬ νμΌμ κ°μ Έμ€κ³ μΊμ±ν΄λκ³ μλ΅νλ€.
μ΄λ κ² ν¨μΌλ‘μ μ μ μ½ν μΈ (μ΄λ―Έμ§, js νμΌ, css νμΌ) λ±μ λΉ λ₯΄κ² μλ΅νκ³ WAS λΆνλ₯Ό μ€μ¬μ€ μ μλ€.
π 무μν(Stateless) μν€ν μ²
μ¬μ©μμ HTTP μμ²μ μ΄λ€ WASλ‘λ μ λ¬λ μ μλ€.
π¨ μν μ 보λ₯Ό WASκ° λ³΄κ΄νμ¬ μ¬μ©νλ κ²½μ°μλ, κ°μ μ¬μ©μμ μμ²μ νμ κ°μ WASλ‘ μ μ‘λλλ‘ μ€μ νκ±°λ WAS κ° μν μ 보λ₯Ό 곡μ ν μ μλλ‘ ν΄μΌνκΈ° λλ¬Έμ μλ²μ λΆλ΄μ μ€λ€.
λ°λΌμ, WASλ μ¬μ©μμ μνλ₯Ό 보κ΄νλ κ²μ΄ μλλΌ μ¬μ©μμ μν μ λ³΄κ° νμν κ²½μ°, 곡μ μ μ₯μλ‘λΆν° λ°μ΄ν°λ₯Ό κ°μ Έμ€λ λ°©μμΌλ‘ νκ³ μ΄λ₯Ό 무μν μν€νμ²λΌκ³ νλ€.