π μλ²λ₯Ό ‘λ μ€ν λ’μ λΉμ ν΄ λ³΄μ!
μλ²(Server)λ₯Ό νλμ λ μ€ν λμ΄λΌκ³ μκ°ν΄ λ³Όκ²μ.
μ무λλ μ λ¬Έμ μΈ μ©μ΄λ‘λ§ μ€λͺ μ νλ μ΄ν΄κ° μ΄λ €μ κ±°λ μ!
ν΄λΌμ΄μΈνΈ(Client)λ λ μ€ν λμ μ¨ μλμ΄μμ.
μλ(ν΄λΌμ΄μΈνΈ)μ μμμ μ£Όλ¬Ένκ³ , λ μ€ν λ(μλ²)μ κ·Έ μ£Όλ¬Έμ λ°μμ μ리λ₯Ό λ§λ€μ΄ μ 곡ν΄μ!
π½ μλ²μ μν = λ μ€ν λμ μν
κ°λ | λ μ€ν λ λΉμ | μ€μ μλ² κ°λ |
μλ²(Server) | μ리λ₯Ό λ§λ€μ΄μ£Όλ λ μ€ν λ | λ°μ΄ν°λ₯Ό μ 곡νλ μ»΄ν¨ν° |
ν΄λΌμ΄μΈνΈ(Client) | μμμ μ£Όλ¬Ένλ μλ | μλ²μ μμ²μ 보λ΄λ μ¬μ©μ |
μμ²(Request) | "νμ€ν μ£ΌμΈμ!" | "μ΄ μΉνμ΄μ§λ₯Ό 보μ¬μ€!" |
μλ΅(Response) | νμ€ν μ리λ₯Ό μ 곡 | μΉνμ΄μ§ λ°μ΄ν° λλ κ²°κ³Ό μ 곡 |
λ°μ΄ν° μ μ₯μ (DB, νμΌ μμ€ν ) | λ μ€ν λμ μ°½κ³ (μ¬λ£ 보κ΄) | μλ²κ° λ°μ΄ν°λ₯Ό μ μ₯νλ κ³΅κ° (DB, S3 λ±) |
π AWS μλ²λ₯Ό λ μ€ν λμ²λΌ μ΄ν΄ν΄λ³΄μ!
AWSμμ μλ²λ₯Ό λμ΄λ€λ 건, λ μ€ν λμ μλ‘ μ¬λ κ²κ³Ό λΉμ·ν΄μ!
β
EC2 = μ£Όλ°©μ΄ μλ λ μ€ν λ (μΌλ° μλ²)
→ AWSμμ EC2(κ°μ μλ²)λ₯Ό λ§λ λ€λ 건, λ μ€ν λμ μ΄κ³ μ리λ₯Ό μμν μ μλλ‘ μ£Όλ°©μ λ§λ ¨νλ κ².
→ μ°λ¦¬κ° μ§μ μ리λ₯Ό ν μλ μκ³ , μ§μ(νλ‘κ·Έλ¨)μ κ³ μ©ν΄μ μν¬ μλ μμ΄μ.
β
EMR = λ°°λ¬ μ λ¬Έ λ μ€ν λ (Spark μλ²)
→ AWSμμ EMRμ λ§λ λ€λ 건, μ¬λ¬ λͺ
μ μ리μ¬(λ
Έλ)λ€μ΄ λΉ λ₯΄κ² λ§μ μ£Όλ¬Έμ μ²λ¦¬νλ λ°°λ¬ μ λ¬Έ λ μ€ν λμ μ¬λ κ±°λ λΉμ·ν΄μ.
→ Sparkλ μ¬λ¬ κ°μ μλ²(μ리μ¬λ€)κ° λμμ μΌν μ μλλ‘ λμμ€μ, λλμ λ°μ΄ν°λ₯Ό λΉ λ₯΄κ² μ²λ¦¬ν μ μμ΄μ.
β
S3 = λμ₯κ³ (μ μ₯ 곡κ°)
→ μ리λ₯Ό νκΈ° μν΄μλ μ¬λ£(λ°μ΄ν°)λ₯Ό 보κ΄ν λμ₯κ³ κ° νμνμ£ ?
→ AWSμ S3λ λ°μ΄ν°λ₯Ό 보κ΄νλ μ μ₯μ μν μ ν΄μ.
β
ν΄λΌμ΄μΈνΈ = μλ
→ ν΄λΌμ΄μΈνΈ(μ¬μ©μ)κ° μΉμ¬μ΄νΈλ₯Ό λ°©λ¬Ένκ±°λ, λ°μ΄ν°λ₯Ό μμ²νλ©΄, μλ²(λ μ€ν λ)κ° μμ²μ μ²λ¦¬ν΄μ κ²°κ³Όλ₯Ό μ 곡!
π― κ²°λ‘
AWSμμ μλ²λ₯Ό λ§λ λ€λ 건, λ μ€ν λμ μ΄κ³ , μ리λ₯Ό μ€λΉνλ κ²κ³Ό κ°μμ!
Sparkλ₯Ό μ¬μ©νλ€λ 건, μ¬λ¬ λͺ μ μ리μ¬(μλ² λ Έλ)λ₯Ό κ³ μ©ν΄μ λμμ λΉ λ₯΄κ² μ리λ₯Ό λ§λλ κ²κ³Ό λΉμ·νꡬμ.
κ·Έλ¦¬κ³ λ°μ΄ν°λ₯Ό μ μ₯νλ €λ©΄ λμ₯κ³ (S3)λ₯Ό μ€λΉν΄μΌ ν΄μ!
μ΄μ μ’ μ΄ν΄κ° λμ ¨λμ? ππ